第一行输入一个整数T(表示样例个数)接下来T组样例每个样例一行,包含一个字符串“yyyy-mm-dd”(1990<=yyyy<=2018)题目保证测试数据的正确性输出描述:输出题意要求的天数示例1输入11999-09-09输出5020这道题,做起来其实并不难,要的是细心,要不然会出现各种bug。所以这题三层for就可以解决,只是条件一定要想好。不然条理不清晰,就很难做。
1#include23usingnamespacestd;45intvis[29]={365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365};6intmonth1[12]={31,29,31,30,31,30,31,31,30,31,30,31};7intmonth2[12]={31,28,31,30,31,30,31,31,30,31,30,31};8intn;9intmain(){10cin>>n;11while(n--){12intsum=0,ans=0,cnt=0;13intx,y,z;14chara,b;15cin>>x>>a>>y>>b>>z;16for(inti=x;i<=2018;i++){17if(i%10==4)18continue;19boolprime=false;20if(vis[i-1990]==366){21prime=true;22}23for(intj=(i==xy:1);j<=(i==20184:12);j++){24if(j==4)continue;25for(intk=(i==x&&j==yz:1);k<=(primemonth1[j-1]:month2[j-1]);k++){26if(k==4||k==14||k==24){27continue;28}else{29sum++;30}31}32}33}34cout<1#include2usingnamespacestd;3intT;4intmain(){5cin>>T;6while(T--){7doubleL,v1,v2;8cin>>L>>v1>>v2;9doublet=L/v1;10doublex=0.5*9.8*t*t;11doubleXX=v2*t;12printf("%.6f%.6f\n",x,XX);13}14return0;15}
第一行输入一个整数T(表示样例个数)接下来T组样例每个样例一行,包含三个连续的大写字母(A-S)输出描述:每个样例输出一行升级到SSR所需的次数示例1输入3SSRSRRAAA输出0196857备注:SRR升级到SSR的过程:SRR->SRS->SSA->SSB->SSC->……->SSR共19次这就相当于十九进制的转换,最高只有S,然后把两个字符串转化成十进制的数,在求差就行了。
1#include2#include34usingnamespacestd;56intmain(){7intn;8cin>>n;9while(n--){10chara,b,c;11cin>>a>>b>>c;12intx='S'-a;13inty='S'-b;14intz='R'-c;15if(z<0){16y--;17z+=19;18}19if(y<0){20x--;21y+=19;22}23intsum=x*19*19+y*19+z;24cout<第一行输入一个整数T(表示样例个数)接下来T组样例。每组样例第一行输入一个整数M,表示操作数(1≤M≤1000000);接下来M行,每行输入一个操作,由一个操作类型和一个好友id构成,之间以空格分开,操作类型如上面5个英文单词表示,例如:“recv123456”表示接收到id为123456的好友的一条消息,“delete123456”表示在消息列表中删除id为123456的好友的消息记录。为了简化问题,一开始消息列表为空并假设好友名字id由六位数字“唯一”标识(000000≤id≤999999),题目保证输入数据的一致性。输出描述:每组样例,输出最后的消息列表,自顶向下,每行输出一个:“好友id消息数”。每组样例后空一行。示例1输入113recv000001recv000002up000002view000001recv000002recv000004up000004up000001recv000004recv000003view000001view000004down000002输出0000040000001000000310000022我本身感觉这题不难,但是比赛的时候看都没看这题,以为很少人过就没看,结果补题的时候才发现,其实挺简单的。就是判断好条件,剩下的用个结构体就行,然后加个CMPsort排序,因为内存没那么大,所以可以选择直接用10000000的内存,或者自己自动分配,我选择自动分配内存。
第一行输入一个正整数T(表示样例个数)接下来T组样例每组样例一行,输入一个实数Y输出描述:一行输出一个样例对应的结果,输出方程在0~100之间的解,保留小数点后4位小数;如果不存在,输出-1示例1输入2120180421输出-19.9993这题其实一开始我想用二分做,但是我感觉精度为0.0001有点小,怕等下出bug就尴尬了,所以就先在100个整数中找到了是不是在哪两个整数之间,然后再细分,也就100*1000,所以不会超时。
1#include2#defineMax(double)2018050521143usingnamespacestd;45doublemat(doublex){6return2018.00*x*x*x*x+21.0*x+5.0*x*x*x+5.0*x*x+14.0;7}8intmain(){9intt;10cin>>t;11while(t--){12doublen;13cin>>n;14if(n>Max||n<14){15cout<<"-1"<n){20for(doublek=i-1;kn){22doublea=k-0.0001;23if(n-mat(a)>mat(k)-n)24printf("%.4f\n",k);25else26printf("%.4f\n",a);2728prime=true;29break;30}31}32}elseif(mat(i)==n){33printf("%.4f\n",i);34prime=true;35}36if(prime)37break;38}39}40414243}4445return0;46}
第一行输入一个整数T(表示样例个数)接下来T组样例每组样例一行,输入两个正整数a,b(02#definelllonglongint3usingnamespacestd;45intmain(){6intt;7cin>>t;8while(t--){9lla,b;10cin>>a>>b;11llsum=a*b;12floatans=pow(sum,1/3.0);13if(ans==(int)ans){14cout<<"Yes"<