特制名企春招实习备战攻略技术篇_第1页
特制名企春招实习备战攻略技术篇_第2页
特制名企春招实习备战攻略技术篇_第3页
特制名企春招实习备战攻略技术篇_第4页
特制名企春招实习备战攻略技术篇_第5页
已阅读5页,还剩76页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、小Q的歌 四 2 1、24 2、Young 季(3月-5月,包括了应届生补招和实习生招聘。到5月份,算下来整个春招也就不过短短两个月。 : 以通过号:校招小管家>绑定收到的号>查询我的笔试。 器有没有adblockadguard等这种插件,关闭后重试3、考试前请关闭其他浏览器窗口,关闭QQ、 关闭Outlook等有弹窗提示消息的软件,否则会被记录离开网页。 2、处理方法:其实这个问题可以避免,就是编程题每个样例做一组对应的.in和.otC/C++,做编程题强烈建议使用C/C++语言,通常处理方式是假设C/C++时限是1s,其他语言就会给2倍时限,甚至。3cincoutscanfprintfscanfprintf。下面告诉一个小,不要惊讶:cincout比scanfprintf慢20cin混用可能就会造成一些奇怪的错误的输出和.out文件,这样也会被判错误n1e5,O(n者O(nlogn)。平方复杂度直接拜拜!C/C++,最好别使用VScode,这个默认是MS的,一般OJ上面编译器都不会是这个鬼。 网中级项目课是由牛客网CEO——10多年一线编程老——亲自手把手带你做项目,真正从企业实战角度带你从0到1搭建项目! 1、小QKB(B<=10)和数量Y(Y<=100)。保证A不等于B。 52339usingnamespacestd;longlongc[105][105];constintmod= voidinit(){c[0][0]=for(inti=1;i<=100;{c[i][0]=for(intj=1;j<=100;c[i][j]=(c[i-1][j-1]+c[i-1][j])%}}intmain()intk,a,b,x,y;longlongans=0;scanf("%d",&k);scanf("%d%d%d%d",&a,&x,&b,&y);for(inti=0;i<=x;i++){if(i*a<=k&&(k-a*i)%b==0&&(k-a*i)/b<=ans=(ansans=(ans+(c[x][i]*c[y][(k-a*i)/b])%mod)%}return0;}Q拥有nzi,机器等级wi。不能完成,如果完成这个任务将获得200*xi+3*yi那个方案。小Q需要你来帮助他计算一下。NM1nm(1nm100000nziwi(0zi10000wi100),mxiyi(0xi1000,0yi10011001001001#include<bits/stdc++.h>usingnamespacestd;#defineLLlonglongconstintmaxn=1e5+10;structnode{intx,}e[maxn],intintintcmp(nodea,nodeb)if(a.x==b.x)returna.y>b.y;returna.x>b.x;}intmain()intn,m;scanf("%d%d",&n,&m);for(inti=0;i<n;i++)scanf("%d%d",&e[i].x,for(inti=0;i<m;i++)scanf("%d%d",&f[i].x,&f[i].y);sort(e,e+n,cmp);sort(f,f+m,cmp);intnum=0;LLans=memset(cnt,0,sizeof(cnt));inti,j,k;for(i=0,j=0;i<m;{while(j<n&&e[j].x>={}for(k=f[i].y;k<=100;{if(cnt[k]){ans=ans+200*f[i].x+3*f[i].y;}}}printf("%d%lld\n",num,ans);return0;每个测试用例的第一行包含两个正整数,表示父母出差的天数N(N<=50000)和巧克力的数量34usingnamespacestd;intmain(){intn,m,temp,now,mid;boolok;scanf("%d%d",&n,&m);intl=1,r=m;while(l!=r){ok=mid=(l+r+1)/2;temp=m;now=for(intj=0;j<n;{if(temp<now){ok=0;}temp-=now=(now+1)/}l=r=mid-}return0;}【题目描述】和羊羊正在玩一个纸牌游戏。这个游戏一共有n张纸牌,第i张纸牌上写着数字ai。和羊羊轮流抽牌,先抽,每次抽牌他们可以从纸牌堆中任意选择一张抽出,直到纸牌被抽完。n(1n105nai(1ai109),表示每张纸牌上的数字。输出一个整数,表示游戏结束后 3275#include<bits/stdc++.h>usingnamespacestd;constintmaxn=1e5+10;inta[maxn];intintcmp(intx,int{returnx>}intmain()scanf("%d",for(inti=0;i<n;i++)scanf("%d",&a[i]);sort(a,a+n,cmp);intans=for(inti=0;i<n;{if(i%2==0)ans+=}elseans-=}}cout<<ans<<returnreturn}【题目描述】东东对幂运算很感,在学习的过程中东东发现了一些有趣的性质:9^3=27^2,2^10=na^bc^d(1n)的式子有多少个。n2:1^1=1^1n(1n 2usingnamespacestd;constintmod=1e9+7;set<int>S;intintmain()cin>>intres=1LL*n*(n*2-1)%mod;for(inti=2;i*i<=n;i++){if(S.find(i)!=S.end())longlongtmp=intcnt=intcnt=0;while(tmp<=n)tmp=tmp*i;}for(inti=1;i<=cnt;i++){for(intj=i+1;j<=cnt;j++){res=(res+n/(j/(i,j))*2LL)%}}}cout<<res<<}242成两组,分别是{2,2}以及{4},而且这两组数的和都是4.东东现在需要统计给定区间中有多少个神奇数,即给定区间[l,r],统计这个区间中有多少个神奇数,请你来帮助他。lr(1l,r10^90rl10^6),以空格分割1usingnamespacestd;boolcheck(intn){charintcur=0,t=0;while(n>0){s[cur]=n%10;t+=s[cur++];n/=}if(t%2)returnfalse;t/=2;boolok[42]=ok[s[0]]=for(inti=1;i<cur;{intv=for(intj=41;j>=0;j--{if(ok[j]&&j+v<=41){ok[j+v]=true;}}if(ok[t])return}}return}intl,r;intmain(){intres=0;cin>>l>>r;for(inti=l;i<=r;{if(check(i))}cout<<res<<endl;return0;}【题目描述】对整除非常感。的老师给他布置了一道题:的老师给出一个n,然后需n(1n输出一个整数,即满足要求的最小整数。答案可能很大,请输出这个整数对于 36usingnamespacestd;constintmaxn=100000+5;inttmp[maxn];intintmain()cin>>for(inti=1;i<=n;{intk=for(intj=2;j*j<=n;{ints=0;while(k%j==0){k/=}tmp[j]=max(tmp[j],}if(k>1)tmp[k]=max(tmp[k],}longlongres=for(inti=1;i<=100000;{for(intj=0;j<tmp[i];{res=res*i }}cout<<res<<endl;return0;的'?'可以确定为0或者1。寻找一个字符串T是否在字符串S中出现的过程,称为字符串匹配。 例如:A=" ",B="??"输入包括两行,第一行一个字符串A,字符串Alength(1length50),A0'1'B,字符串Blength(1length50),B0','1'和'?'。usingnamespacestd;stringA,B;set<string>s;intmain()cin>>A>>B;intans=0;for(inti=0;i<(int)A.size();{intj=i+B.size()-1;if(j>=A.size())stringcur=A.substr(i,j-i+1);if(s.count(cur))continue;boolflag=for(intk=0;k<B.size();{if(cur[k]!=B[k])if(B[k]=='?')continue;else{flag=false;}}}if(flag)}coutcout<<ans<<endl;return0;}现在给出一个括号序列s,允许你执行的操作是:在s的开始和结尾处添加一定数量的左括号('[')usingnamespacestd;strings;intmain()cin>>s;stringres=s;stringappend;intcnt=0;for(inti=0;i<s.size();{if(s[i]=='[')cnt++;elsecnt--;if(cnt<0){append+=}}}cout<<append+s+string(cnt,']')<<endl;return0;}tts,字符串slength(1length50),susingnamespacestd;strings,t;intcmp(inta,int{returna>}intmain()cin>>s>>t;sort(t.begin(),t.end(),cmp);intpos=0;for(inti=0;i<s.size();{if(s[i]<t[pos]){s[i]=t[pos];}}coutcout<<s<<endl;return0;}y是x的子序列。例如."ncd"是"nowcoder"的子序列,而"xt"不是。s,slength(1length50).s中每个字符都是小写字母usingnamespacestd;strings;intmain()cin>>s;ostringstreamss; torit=max_element(s.begin(),s.end());ss<<*it;s.erase(s.begin(),it+}cout<<ss.str()<<endl;return0;}s,字符串slength(1length50),sa'-'z')如样例所示:s="aaabbaaac"32314usingnamespacestd;strings;intmain()cin>>s;charc=s[0];doublen=1,for(inti=1;i<s.size();{if(c!=s[i]){c=s[i];}}d=(double)s.size()/n;printf("%.2lf\n",d);return0;}【题目描述】魔法王国一共有n0~n-1nn(2n50)L(1L100第二行包括n-1parent[i](0parent[i]≤i),对于每个合法的i(0in2输入例子1:50123usingnamespacestd;constintmaxn=50+5;intn,L;intdp[200];intmain()scanf("%d%d",&n,for(inti=0;i<n-1;i++)scanf("%d",&parent[i]);intmx=0;for(inti=0;i<n-1;{dp[i+1]=dp[parent[i]]1;mx=max(mx,dp[i+}intd=min(L,cout<<min((n),1+d+(L-d)/2);return0;}【题目描述NA{A[1A[2A[3A[N]}。AAA[i]*A[i1](1iN14t(1tA,n(1nnA[i](1A[iYes,否则输出No。输入例子1:231104123usingnamespacestd;intn;int{intt;while(t--)intcnt4=0;intcnt2=0;intcnt1=0;for(inti=0;i<n;{intx;if(x%4==0)cnt4++;elseif(x%2==0)cnt2++;elsecnt1++;}if(cnt2==0)if(cnt4>=cnt1-1)}elseif(cnt4>=cnt1)}}return}nx[iy[ixy原点)的怪物消灭。VIP n(1n50nx[i](-1,000,000x[i]1,000,000),表示每只怪物所在坐标的横坐标,以空格ny[i](-1,000,000y[i]1,000,000),表示每只怪物所在坐标的纵坐标,以空格输入例子1:50-111-0-1-115usingnamespacestd;constintmaxn=50+5;intx[maxn],y[maxn];intn;intsolve()if(n<=2)returnn;intres=1;for(inti=0;i<n;{for(intj=0;j<n;j++){if(i!=j){intdx1=x[j]-intdy1=y[j]-y[i];for(intk=0;k<n;k++){intcnt=if(i!=k&&j!=k){for(intr=0;r<n;r++){intdx2=x[r]-intdy2=y[r]-y[i];if(dy1*dx2==dy2*dx1){}elsedx2=x[r]-dy2=y[r]-if(dy1*dy2==-dx2*{}}}}res=max(res,}}}}return}}intmain()cin>>for(inti=0;i<n;i++)cin>>x[i];for(inti=0;i<n;i++)cin>>y[i];cout<<solve()<<endl;}importjava.util.*;publicclassMainpublicScannercin=newScanner(System.in);Main(){while{Stringstr=intans=str.length()-for(inti=0;ans>0;ans--)for(i=0;str.length()%ans==0&&i<str.length()&&str.charAt(i)==str.charAt(i%ans);i++)}if(i==str.length())}System.out.println(ans!=0?str.substring(0,ans):}}publicstaticvoidmain(String[]{new}}请按照字典序给出所有合法的字符串。2class{vector<string>generateParenthesis(int{this->n=n;vector<string>ret;dfs(0,0,0,"",ret);returnret;}intvoiddfs(intx,intl,intr,stringstr,vector<string>{if(x==2*return;}ifif(l<dfs(x+1,l+1,r,str+"(",ret);if(r<n&&l>r)dfs(x+1,l,r+1,str+")",}330publicclassMain{publicstaticvoidmain(String[]args){Scannersc=newScanner(System.in);intn=if(n>=StringBuilderb=newStringBuilder();for(inti=0;i<n;i++){}}}@param最多只能取一枚,每种硬币有一个面值,问能用多少种方法拼出m的面值?第二行n1个整数,第i种普通币的面值a[i]。保证a[i]为严格升序。输出一行,包含一个数字x,表示方法总数对 privatestaticvoidfindNoNumber(String{if(s==null||s.length()==0)for(inti=0;i<=i++){if(!s.contains(""+i+"")){}}}}311219#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>usingnamespaceconstintN=110,M=100010,MODintn1,n2,inta[N],b[N],;量,0/1背包问题要从大到小枚举容量。int{cin>>n1>>n2>>for(inti=0;i<n1;i++)cin>>a[i];for(inti=0;i<n2;i++)cin>>b[i];f[0]=1;for(inti=0;i<n1;i++)for(intj=a[i];j<=m;j++){f[j]+=f[j-if(f[j]>=MOD)f[j]-=}for(inti=0;i<n2;i++)for(intj=m;j>=b[i];j--){f[j]+=f[j-if(f[j]>=MOD)f[j]-=}cout<<f[m]<<endl;return0;}}左,'r'代表向右。字符串S不会包含其他字符。(X,Y)。5635646643usingnamespacestd;constintN=100010;stringops;intn,m,x,intl[N],r[N],u[N],intln[N],rn[N],un[N],dn[N];boolcheck(intmid){returnl[mid]<=y-1&&r[mid]<=m-y&&d[mid]<=n-x&&u[mid]<=x-1;}voidinit(inta[],int{for(inti=1,j=1;i<=ops.size();{while(j<=ops.size()&&a[j]<i)j++;b[i]=j;}}int{cin>>for(inti=0;i<ops.size();{charop=ops[i];if(op=='u')x--elseif(op=='d')x++;elseif(op=='l')y--;elsey++;l[i+1]=max(l[i],-r[i+1]=max(r[i],u[i+1]=max(u[i],-d[i+1]=max(d[i],}init(l,ln),init(r,rn),init(u,un),init(d,dn);intQ;cin>>Q;while(Q--){cin>>n>>m>>x>>y;intt=ops.size();intintsl=y>t?t:intsr=m-y+1>t?t:rn[m-y+1];intsu=x>t?t:un[x];intsd=n-x+1>t?t:dn[n-x+1];cout<<min(sl,min(sr,min(su,sd)))<<endl;}return}对于两个电容A和B,有如下操作指令:量,那剩余的电量仍然会留在A中记为M,如果无论如何操作,都不可能完成,则定义此时M=0。第一行是一个正整数Na、b、2342340充电A转移A->B充电AA->B对于(2,3,4),显然不可能完成,输出0。usingnamespacestd;typedeflonglongLL; (LLa,LLb,LL&x,LL{if(b=={x=1,y=return}LLq= (b,a%b,y,x);y-=a/b*x;return}int{intT;cin>>T;while(T--{LLa,b,c,x,y;cin>>a>>b>>c;intd (a,b,x,if(c>a&&c>b||c%{cout<<0<<endl;}if(c==a||c=={cout<<1<<50%的数据,0100%的数据,0}if(y>0)swap(x,y),swap(a,b);LLa2=a/d,b2=b/d;x*=c/d,y*=c/d;LLk=x/b2;x-=k*b2,y+=k*a2;LLres;if(c>a)res=2*(x-y);elseres=2*(x-y-1);x-=b2,y+=a2;if(c>b)res=min(res,2*(y-x));elseres=min(res,2*(y-x-1));cout<<res<<endl;}return}//line//linecomment2intmain(){return}2//linecomment/*blockcomment*//*blockcomment2*/intmain(){char[]s="/*string*/";return0;}3#include<cstdio>#include<cstring>#include<iostream>#include<vector>#include<string>usingnamespacestd;intmain(){cout<<'\q'<<endl;intres=0;charc;while((c=getchar()),c!=-1)code+=c;intc1=0,c2=0,qs=0;for(inti=0;i<code.size();{if(code[i]=={c1=}elseif{}elseif{if(i+1<code.size()&&code[i]=='*'&&code[i+1]=='/'){c2=0;}}elseif{if(code[i]=={intt=for(intj=i-1;j>=0;j--if(code[j]=={}{}if(t%2==0)qs=}}elseif(code[i]=={qs=}elseif(i+1<code.size()&&code[i]=='/'&&code[i+1]=='/'){c1=}elseif(i+1<code.size()&&code[i]=='/'&&code[i+1]=='*'){c2=}最开始,也就是第0天的时候,这n个点中有一个点v 。经过了t天之后,得到了 的点集S。要求找出第0天 的点v。如果v有很多不同的答案,把它们都找出来。k,t,其中kSkS在区间[1,n])4311elseif(code[i]=={if(code[i+1]=='\\')i+=3;elsei+=2;}}cout<<res<<endl;return0;}3424 usingnamespacestd;bool 的点标记为1 为vectorintvec[1005];//用邻接表表示的边集queue<int>q;//bfs中用到的队列intboolok(intx)//用bfs跑出以x为起 {intnow;{for(int{{}}}for(inti=1;i<=n;i++){if(ans[i]==0&&temp[i]!=0)return0;if(ans[i]!=0&&temp[i]==0)return0;}return1;}int{intm,u,v,num=0;{}ints,k;{} for(int{{}}return0;}2、【【题目描述】一座城市有n个 站点,站点从1到n编号,和m班 车从1到m编号,乘坐每班公交车只需花费1元钱。第i班公交车一共经过t_i个站点,分别为站点a_(i,1),a_(i,2),…,a_(i,t_i), 可以乘坐第i班 车经过站点1,2,3,那么 到3,从3到1,从3到2。想从1号站点到n号站点,问他最少花费 接下来m行,依次描述每班 车经过的站点,第i行开头一个数t_i,表示第i班 接下来t_i个数,依次表示这t_i个站点。(〖2≤t〗_i≤n,∑_(i=1)^m▒〖t_i≤100000〗)53123343352 usingnamespacestd;intdis[200005];vector<int>vec[200005];queue<int>q;int{intn,m,t,a;{{ }}点intnow;{for(int{{}}}return}v,特别地,v∈T_v,。简而言之,S_v是vT_v是能到v第一行输入两个数42312usingnamespacestd;intvectorintvec[1005];//以邻接表的形式存边queue<int>q;//bfs过程中用到的队列int{intn,m,u,v;for(int{}intfor(int{{for(int{{}}}}for(inti=1;i<=n;i++){{}}intfor(int{}return0;}输入样例1:323usingnamespacestd;intintmain(){for(inti=1;i<=7;i++)intn;{【题目描述】有n只小熊,他们有着各不相同的战斗力。每次他们吃糖时,会按照战斗力来排,战斗力高nm,分别表示小熊数量和糖的数量。(n10,m100)m值。题目中所有输入的数值小于等于100。256102043{}}return}40#include<cstdio>usingnamespacestructbearintfight;intid;friendbooloperator<(beara,bear{returna.fight>}inta[100];bearb[10];intn,m;intmain(){scanf("%d%d",&n,&m);for(inti=0;i<m;++i){scanf("%d",a+}for(inti=0;i<n;++i)scanf("%d%d",&b[i].fight,&b[i].hunger);b[i].id=i;}sort(b,b+for(inti=0;i<n;{intindex=-for(intj=0;j<m;++j)if(!v[j]&&b[i].hunger>=a[j]&&(index==-1||a[j]>{index=}}if(index!=-1)b[i].hunger-=a[index];v[index]=true;}elseans[b[i].id]ans[b[i].id]=}}for(inti=0;i<n;{printf("%d\n",}return}示这个点的x坐标和y坐标。(所有坐标的绝对值小于等于100,且保证所有坐标不同)400114#include<cstdio>usingnamespacestd;structPoint{intx;int Pointa[100];intn;翻页时,需要从列表L1、L2中获取商品进行展示。展示规则如下:用户已经看了4个商品intmain()scanf("%d",for(inti=0;i<n;{scanf("%d%d",&a[i].x,}intans=for(inti=0;i<n;++i)for(intj=i+1;j<n;++j){for(intk=j+1;k<n;++k){if((a[j].x-a[i].x)*(a[k].y-a[i].y)-(a[k].x-a[i].x)*(a[j].ya[i].y)!=0)}}}}printf("%d\n",注意,区间段使用半开半闭区间表示,即包含起点,不包含终点。如果某个列表的区间为空,使用[0,0)表示,如果某个列表被跳过,使用[len,len)表示,len表示列表的长度。244124413240130331importjava.util.Scanner;publicclassAnswerpublicstaticStringslice(intoffset,intcount,inta,int{intstartA=Math.min(a,Math.max(0,offset));intendA=Math.max(0,Math.min(a,offset+count));intstartB=Math.min(b,Math.max(0,offset-a));intendB=Math.max(0,Math.min(b,offset+count-a));returnstartA+""+endA+""+startB+""+endB;}publicstaticvoidmain(String[]args)throws{Scannerinput=newScanner(System.in);while(input.hasNext()){System.out.print(slice(input.nextInt(),input.nextInt(),input.nextInt(),}}}4341max2*max3和max1*min1*min2的大小。intmaxProduct(inta[],int{intmax1,max2,max3,min1,min2,product;max1=a[0]>a[1]?a[0]:a[1];max2=a[0]>a[1]?}else}else}

for(int}else}else}else}}product=max1*max2*max3>max1*min1*min2?max1*max2*max3:max1*min1*min2;returnproduct;}int{inti,n;}return0;}225publicclassMain{publicstaticvoidmain(String[]{Scannerscanner=newScanner(System.in);intn=scanner.nextInt();intm=scanner.nextInt();intnum=n^m;intcount=0;while(num!=0){num=(num-1)&}}}格分割;0<M,N<1000,-100<K<1002-2-3-5-106可小于1,分析可得状态转移方程为:ifx==col-1&&y==row-s(x,y)=max(1-grid[y][x],1)ifx==col-1s(x,y)=max(s(x,y+1)-grid[y][x],1)ify==row-1s(x,y)=max(s(x+1,y)-grid[y][x],

s(x,y)=max(max(s(x,y+1)-s(x+1,y)-class{introw;intcol;int*intcalculateMinimumHP(vector<vector<int>>&{row=(int)grid.size();col=(int)grid[0].size();dp=newint[row*col];for(size_ti=0;i<row*col;++i)dp[i]=INT_MAX;returnfoo(grid,0,}intfoo(vector<vector<int>>&grid,intx,int{if(dp[y*col+x]!=INT_MAX)returndp[y*col+x];autoval=grid[y][x];intmin_hp;if(x==col-1&&y==row-1)min_hp=max(1-val,1);elseif(x==col-min_hp=max(foo(grid,x,y+1)-val,1);elseif(y==row-1)min_hp=max(foo(grid,x+1,y)-val,{autohp1=max(foo(grid,x,y+1)-val,autohp2=max(foo(grid,x+1,y)-val,1);min_hp=min(hp1,hp2);}dp[y*col+x]=min_hp;returnmin_hp;}void{intM,scanf("%d%d",&M,&N);vector<vector<int>>grids;for(inti=0;i<M;{vector<int>for(intj=0;j<N;{intK;scanf("%d",&K);}}Solution}<x,y,z<40011-1-1-013i1~size1#include<time.h>#include<map>#include<vector>#include<algorithm>usingnamespacestd;structPoint3D{intx,y,Point3D(intx,inty,int:x(x),y(y),booloperator==(constPoint3D&pt){returnx==pt.x&&y==pt.y&&z==}struct{//dx/dzfloat//dy/dzfloat//dz==0?boolbz;booloperator==(constLine3D&l){returnkx==l.kx&&ky==l.ky&&bz==}booloperator<(constLine3D&l){returnkx<l.kxkx==l.kx&&ky<}namespace{struct{size_toperator()(constLine3D&line){size_thash1= size_thash2=4444;size_thash3= return(size_t)(line.kx*hash1)+(size_t)(line.ky*hash2)+hash3*}}intmaxPoints(vector<Point3D>{intmaxNum=for(size_ti=0;i<points.size();{intsa m=0;intptMaxCount=0;unordered_map<Line3D,int>for(size_tj=i+1;j<points.size();{auto&p1=points[i];auto&p2=points[j];Line3Dline;if(p1=={}intdz=p2.z-p1.z;if(dz==0){line.bz=true;line.kx=line.ky=0;【题目描述h1*1,2*2,3*3,4*4,5*5,6*66*660}{line.bz=line.kx=(float)(p2.x-p1.x)/dz;line.ky=(float)(p2.y-p1.y)/}intif(lineMap.find(line)==lineMap.end())count=lineMap[line]=1;count=++lineMap[line];ptMaxCount=max(ptMaxCount,count);}maxNum=max(ptMaxCount+ m+1,}return}60004001importjava.util.List;importjava.util.Scanner;publicclassMain{publicstaticvoidmain(String[]{Mainmain=newMain();int[]nums=newint[6];List<Integer>list=newArrayList<Integer>();Scannersc=newScanner(System.in);while(sc.hasNext())for(inti=0;i<6;{nums[i]=}if(main.isEnd(nums))for(inti=0;i<list.size();{}privatebooleanisEnd(int[]{for(inti=0;i<6;i++){if(nums[i]!=0){return}}returnprivateintsolve(int{intcount=intspareSum5505*5intspareSum4404*4intspareSum33=0;intspareSum22=intneed11=for(inti=3;i<=5;{if(nums[i]!=count+=}spareSum55=nums[4]*11;spareSum44=nums[3]*if(nums[2]%4=={count+=nums[2]/4;spareSum33=0;}elsecount+=nums[2]/4+1;spareSum33=36-(nums[2]%4)*9;}if(spareSum44+(spareSum33/4)*4>=nums[1]*{spareSum22=spareSum44+(spareSum33/4)*4-nums[1]*}elseneed22=nums[1]*4-spareSum44+(spareSum33/4)*4;if(need22%36==0){count+=need22/36;spareSum22=0;}elsecount+=need22/36+1;spareSum22=36-(nums[1]%9)*4;}}if(count*36-nums[1]*4-nums[2]*9-nums[3]*16-nums[4]*25-nums[5]*36>nums[0]){return}elseneed11=nums[0]-(count*36-nums[1]*4-nums[2]*9-nums[3]*16-nums[4]*11-nums[5]*36);if(need11%36=={count+=need11/}elsecount+=need11/36+}}return}#include<iostream>#include<string>#include<stack>using#include<iostream>#include<string>#include<stack>usingnamespacestd;intmain(){stringstr;cin>>intlen=str.length();stack<string>stringStack;inti=0;stringtmp;while(i<len){while(i<len&&str[i]=='/')while(i<len&&str[i]!={tmp+=str[i];}if(tmp=={}elseif(tmp==[1,2,3,2,1]1,2,3,1,21,32,1][1,2,3,1,2]11,2,1,3,1,2,1]elseif{}}cout<<"/";return}stringresult=while{result="/"+stringStack.top()+result;}cout<<result;return0;1111LaLa。对于40%1L1002个。对于100%的数据1L1,0000a[i]1,000,000aa851235297977623importjava.util.Scanner;publicclassPalindromeArray{publicstaticvoidmain(String[]{Scannersc=newScanner(System.in);while+1,

}(sc.hasNext())intlen=sc.nextInt();int[]nums=newint[len];for(inti(sc.hasNext())intlen=sc.nextInt();int[]nums=newint[len];for(inti=0;i<len;i++){nums[i]=}Integer[][]dp=newintres=palindromeArrayHelper(nums,dp,0,len-1);}}publicstaticintpalindromeArrayHelper(int[]nums,Integer[][]dp,inti,int{if(i>j)return}if(i==j)return}if(dp[i][j]!=null)returndp[i][j]=2*nums[i]+palindromeArrayHelper(nums,dp,i+1,j}elsedp[i][j]=Math.min(2*nums[i]+palindromeArrayHelper(nums,dp,i2*nums[j]+palindromeArrayHelper(nums,dp,i,j-}return}}}输入例子1:512344publicclassMain{publicstaticvoidmain(String[]args){Scannersc=newScanner(System.in);intn=intmax=Integer.MIN_VALUE;intsec=Integer.MIN_VALUE;inttemp=sc.nextInt();if(temp>=max){sec=max;max=}elseif(temp>=sec)sec=temp;}}输入例子1:6123451234#include<iostream>usingnamespacestd;intmain(){intwhile(cin>>n)int*arr=newfor(inti=0;i<n;cin>>arr[i];intpage,num;cin>>page>>if(page>n/num-1)}for(inti=page*num;i<page*num+num;++i)cout<<arr[i]<<endl;}return}1222usingnamespacestd;inta[30],n;set<set<int>>S;voiddfs(intsum,intpos,set<int>{if(pos==n+1)return;if(sum==24){}dfs(sum,pos+1,s);dfs(sum+a[pos],pos+1,}intmain()scanf("%d",for(inti=0;i<n;i++)scanf("%d",&a[i]);set<int>s;dfs(0,0,printf("%d\n",(int)S.size());return0;}2,2)的一个单元的正方形。。1。132233 usingnamespacestd;classSolution{boolisRectangleCover(vector<vector<int>>&{unordered_set<string>intmin_x=INT_MAX,min_y=INT_MAX,max_x=INT_MIN,max_y=INT_MIN,areafor(autorect:{min_x=min(min_x,rect[0]);min_y=min(min_y,rect[1]);max_x=max(max_x,rect[2]);max_y=max(max_y,area+=(rect[2]-rect[0])*(rect[3]-strings1=to_string(rect[0])+"_"+to_string(rect[1]);//bottom-leftstrings2=to_string(rect[0])+"_"+to_string(rect[3]);//top-leftstrings3=to_string(rect[2])+"_"+to_string(rect[3]);//top-rightstrings4=to_string(rect[2])+"_"+to_string(rect[1]);//if(st.count(s1))st.erase(s1);elsest.insert(s1);if(st.count(s2))st.erase(s2);elsest.insert(s2);if(st.count(s3))st.erase(s3);elsest.insert(s3);if(st.count(s4))st.erase(s4);elsest.insert(s4);}stringt1=to_string(min_x)+"_"+to_string(min_y);stringt2=to_string(min_x)+"_"+to_string(max_y);stringt3=to_string(max_x)+"_"+to_string(max_y);stringt4=to_string(max_x)+"_"+to_string(min_y);if(!st.count(t1)||!st.count(t2)||!st.count(t3)||!st.count(t4)||st.size()!=4)returnfalse;returnarea==(max_x-min_x)*(max_y-}intmain()intn;cin>>n;vector<vector<int>>rect;for(inti=0;i<n;i++){vector<int>for(intj=0;j<4;{intx;cin>>}}Solutionif(s.isRectangleCover(rect))printf("true\n");elseprintf("false\n");}typedefstructnode_{intstructnode_}

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论