杭电完成.docx
《杭电完成.docx》由会员分享,可在线阅读,更多相关《杭电完成.docx(63页珍藏版)》请在冰点文库上搜索。
杭电完成
组合数
TimeLimit:
1SMemoryLimit:
65536KB
Accepted:
104Submit:
326
Description:
SOS最近做ACM题的时候经常用到组合数C(N,M)就是求M个数中选N个数的组合方案数,他想让你帮他编个小程序好让他COPY过来直接用:
-)
Input:
输入的第一行一个正整数T(T<=10),有T组测试数据第二行~第T+1行,每行有2个正整数N,M(1<=N,M<=200)
Output:
对于每组输入N,M,输出一行,该行有一个数,为C(N,M)值(输出的数据在long范围之内)
InputSample:
2
35
120
OutputSample:
10
20
#include
intmain()
{
longa,b;
intt,n,m,i,s,j,k;
longl;
scanf("%d",&t);
for(i=0;i{a=1;b=1;scanf("%d%d",&n,&m);if(m-nfor(j=m,k=1;j>=m-n+1;j--,k++){a*=j;b*=k;for(s=n;s>=2;s--)if(a%s==0&&b%s==0){a=a/s;b=b/s;}}l=a/b;printf("%ld\n",l);}return0;}还是A+BTimeLimit:2000/1000MS(Java/Others)MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):4016AcceptedSubmission(s):2019ProblemDescription读入两个小于10000的正整数A和B,计算A+B。需要注意的是:如果A和B的末尾K(不超过8)位数字相同,请直接输出-1。Input测试输入包含若干测试用例,每个测试用例占一行,格式为"ABK",相邻两数字有一个空格间隔。当A和B同时为0时输入结束,相应的结果不要输出。Output对每个测试用例输出1行,即A+B的值或者是-1。SampleInput121112111088236643001SampleOutput3-1-1100#includeusingnamespacestd;intmain(){inta,b,s,k,i;while(cin>>a>>b>>k){s=1;if(a==0&&b==0)break;for(i=1;i<=k;i++)s*=10;if(a%s==b%s)cout<<"-1"<elsecout<}return0;}反正切函数的应用TimeLimit:1000MSMemoryLimit:10000KTotalSubmissions:7778Accepted:2884Description反正切函数可展开成无穷级数,有如下公式(其中0<=x<=1)公式(1)使用反正切函数计算PI是一种常用的方法。例如,最简单的计算PI的方法:PI=4arctan(1)=4(1-1/3+1/5-1/7+1/9-1/11+...)公式(2)然而,这种方法的效率很低,但我们可以根据角度和的正切函数公式:tan(a+b)=[tan(a)+tan(b)]/[1-tan(a)*tan(b)]公式(3)通过简单的变换得到:arctan(p)+arctan(q)=arctan[(p+q)/(1-pq)]公式(4)利用这个公式,令p=1/2,q=1/3,则(p+q)/(1-pq)=1,有arctan(1/2)+arctan(1/3)=arctan[(1/2+1/3)/(1-1/2*1/3)]=arctan(1)使用1/2和1/3的反正切来计算arctan(1),速度就快多了。我们将公式(4)写成如下形式arctan(1/a)=arctan(1/b)+arctan(1/c)其中a,b和c均为正整数。我们的问题是:对于每一个给定的a(1<=a<=60000),求b+c的值。我们保证对于任意的a都存在整数解。如果有多个解,要求你给出b+c最小的解。Input输入文件中只有一个正整数a,其中1<=a<=60000。Output输出文件中只有一个整数,为b+c的值。SampleInput1SampleOutput5#includeintmain(){__int64i,a;while(scanf("%I64d",&a)!=EOF){for(i=2*a;;i--){if((i*i+1)%(i-a)==0)break;}printf("%I64d\n",(i*i+1)/(i-a));}return0;}{A}+{B}TimeLimit:10000/5000MS(Java/Others)MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):2519AcceptedSubmission(s):980ProblemDescription给你两个集合,要求{A}+{B}.注:同一个集合中不会有两个相同的元素.Input每组输入数据分为三行,第一行有两个数字n,m(0Output针对每组数据输出一行数据,表示合并后的集合,要求从小到大输出,每个元素之间有一个空格隔开.SampleInput1212312112SampleOutput12312#include#include#includeusingnamespacestd;intcmp(constvoid*s1,constvoid*s2){return*(int*)s1-*(int*)s2;}intmain(){intn,m,i,j,k,a[20000];while(cin>>n>>m){memset(a,0,sizeof(int));for(i=0;icin>>a[i];for(j=n;jcin>>a[j];qsort(a,m+n,sizeof(int),cmp);cout<for(k=1;k{if(a[k]==a[k-1])continue;elsecout<<""<}cout<}return0;}粗心的物理学家--------------------------------------------------------------------------------TimeLimit:1sMemorylimit:32MAcceptedSubmit:834TotalSubmit:2892--------------------------------------------------------------------------------世界著名的物理学家Albert正在计算的值。不幸的是,由于这项工作十分枯燥无味,这位伟大的物理学家得到了错误的答案。由于这一错误,它制造的几颗原子弹失去了控制,射向了五座重要的城市和一片热带雨林……现在你的任务是帮助这位物理学家纠正这一错误,从而拯救世界。对于给定的n(n≤5*10^6),计算代数式的值。输入输出格式输入数据由多组数据组成。每组数据一行,仅有一个整数,表示n的值。对于每组数据,输出代数式的值(小数点后保留12位有效数字)。样例输入2样例输出1.500000000000#includeintmain(){longi,n;doubles;while(scanf("%ld",&n)!=EOF){s=1;for(i=2;i<=n;i++)s+=(double)1/i;printf("%.12f\n",s);}return0;}老师的苦恼--------------------------------------------------------------------------------TimeLimit:1sMemorylimit:32MAcceptedSubmit:738TotalSubmit:1942--------------------------------------------------------------------------------Bob写文章时喜欢将英文字母的大小写混用,例如ComputerScience经常被他写成coMpUtErscIeNce,这让他的英文老师十分苦恼,现在请你帮Bob的英文老师写一个程序能够将Bob的文章中的英文字母全部变成小写的。输入输出格式输入数据由多组数据组成。每组数据只有一行,表示Bob写的文章中的一句话,由字母、空格、数字以及各种标点组成,文字长度不超过50个字符。对于每组数据,输出仅一行,即转换成小写字母之后的结果。样例输入weLcOmEtOFZuPC2005!样例输入welcometofzupc2005!#include#includeusingnamespacestd;intmain(){chara[60];intj,len;while(gets(a)){len=strlen(a);for(j=0;j{if(a[j]>=65&&a[j]<=90)a[j]=a[j]+32;cout<}cout<}return0;}阅读顺序--------------------------------------------------------------------------------TimeLimit:1sMemorylimit:32MAcceptedSubmit:917TotalSubmit:2424--------------------------------------------------------------------------------大多数语言是从左向右读的。但是,在一些语言中,阅读顺序是从右向左读的。这给语言交流增加了不少的麻烦。现在,请你编写一个程序,能够将一从左到右书写的文字自动转成从右向左的顺序。输入输入的第一行是一个数字n(n<100),接下来的有n行的文字,由字母、空格、数字以及各种标点组成,每行文字长度不超过200个字符。输出将输入的文字转成从右向左的顺序,一行输入对应一行输出。输入样例3amanaplanacanalpanamaFrankly,Idon'tthinkwe'llmakemuchOK?输出样例amanaplanacanalpanamahcumekamll'ewknihtt'nodI,ylknarF?KO解释如果不考虑词与词之间的空格,第一句话从左向右读和从右向左读的结果是一样的:-)#includeusingnamespacestd;intmain(){intn,i,len,j;chara[200];cin>>n;getchar();for(j=0;j{gets(a);len=strlen(a);for(i=len-1;i>=0;i--)cout<cout<}return0;}做减法--------------------------------------------------------------------------------TimeLimit:1sMemorylimit:32MAcceptedSubmit:608TotalSubmit:2260--------------------------------------------------------------------------------乐乐今天刚学减法,老师布置了好多关于减法的家庭作业题。乐乐可不想把时间都浪费在这重复机械的题目上。你能帮帮她吗?输入输出格式输入数据由多组数据组成。每组数据只有一行,包含两个整数,用空格分开。对于每组数据,输出一行,包含两个整数的差。如果数字超过3位,应从最低位起,按每三位分组。题目所有输入输出保证在[-2^31,2^31-1]范围内。样例输入20001000样例输出1,000#include#includeusingnamespacestd;intmain(){inti,j;longn,m,s,k[100],t;while(cin>>n>>m){i=0;s=n-m;if(s<999)cout<else{while(s>999){k[i++]=s%1000;s=s/1000;}if(s<999)cout<for(j=i-1;j>=1;j--)if(k[j]>=0&&k[j]<=9)cout<<"00"<elseif(k[j]>=10&&k[j]<=19)cout<<"0"<elsecout<if(j==0)if(k[0]>=0&&k[0]<=9)cout<<"00"<elseif(k[0]>=10&&k[0]<=19)cout<<"0"<elsecout<}}return0;}不要62TimeLimit:1000/1000MS(Java/Others)MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):2329AcceptedSubmission(s):691ProblemDescription杭州人称那些傻乎乎粘嗒嗒的人为62(音:laoer)。杭州交通管理局经常会扩充一些的士车牌照,新近出来一个好消息,以后上牌照,不再含有不吉利的数字了,这样一来,就可以消除个别的士司机和乘客的心理障碍,更安全地服务大众。不吉利的数字为所有含有4或62的号码。例如:623157341888914都属于不吉利号码。但是,61152虽然含有6和2,但不是62连号,所以不属于不吉利数字之列。你的任务是,对于每次给出的一个牌照区间号,推断出交管局今次又要实际上给多少辆新的士车上牌照了。Input输入的都是整数对n、m(0Output对于每个整数对,输出一个不含有不吉利数字的统计个数,该数值占一行位置。SampleInput110000SampleOutput80#includeusingnamespacestd;inta[1000001];intmain(){inti,n,m;chars[20];a[0]=0;for(i=1;i<=1000000;i++){sprintf(s,"%d",i);if(!strstr(s,"4")&&!strstr(s,"62"))a[i]=a[i-1]+1;elsea[i]=a[i-1];}while(cin>>m>>n){if(!m&&!n)break;cout<}return0;}进制转换TimeLimit:2000/1000MS(Java/Others)MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):3629AcceptedSubmission(s):2020ProblemDescription输入一个十进制数N,将它转换成R进制数输出。Input输入数据包含多个测试实例,每个测试实例包含两个整数N(32位整数)和R(2<=R<=16,R<>10)。Output为每个测试实例输出转换后的数,每个输出占一行。如果R大于10,则对应的数字规则参考16进制(比如,10用A表示,等等)。SampleInput722312-43SampleOutput1111B-11#include#includeusingnamespacestd;intmain(){intn,r,a[100],i,j,m;while(cin>>m>>r){i=0;n=abs(m);while(n!=0){a[i]=n%r;n=n/r;i++;}if(m<0)cout<<"-";for(j=i-1;j>=0;j--){if(a[j]==10)cout<<"A";elseif(a[j]==11)cout<<"B";elseif(a[j]==12)cout<<"C";elseif(a[j]==13)cout<<"D";elseif(a[j]==14)cout<<"E";elseif(a[j]==15)cout<<"F";elsecout<}cout<}return0;}人见人爱A+BTimeLimit:2000/1000MS(Java/Others)MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):3960AcceptedSubmission(s):2563ProblemDescriptionHDOJ上面已经有10来道A+B的题目了,相信这些题目曾经是大家的最爱,希望今天的这个A+B能给大家带来好运,也希望这个题目能唤起大家对ACM曾经的热爱。这个题目的A和B不是简单的整数,而是两个时间,A和B都是由3个整数组成,分别表示时分秒,比如,假设A为344556,就表示A所表示的时间是34小时45分钟56秒。Input输入数据有多行组成,首先是一个整数N,表示测试实例的个数,然后是N行数据,每行有6个整数AH,AM,AS,BH,BM,BS,分别表示时间A和B所对应的时分秒。题目保证所有的数据合法。Output对于每个测试实例,输出A+B,每个输出结果也是由时分秒3部分组成,同时也要满足时间的规则(即:分和秒的取值范围在0~59),每个输出占一行,并且所有的部分都可以用32位整数表示。SampleInput2123456344556122334#include#includeusingnamespacestd;intmain(){intn,a[3],b[3],i,j,k,m,s,f,l,t;cin>>n;for(i=0;i{l=0;t=0;s=0;f=0;m=0;for(j=0;j<3;j++)cin>>a[j];for(k=0;k<3;k++)cin>>b[k];m=a[2]+b[2];if(m>60){m=m-60;t=1;}f=a[1]+b[1];if(t)f=f+1;if(f>60){l=1;f=f-60;}s=a[0]+b[0];if(l)s=s+1;cout<}return0;}算菜价TimeLimit:1000/1000MS(Java/Others)MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):2147AcceptedSubmission(s):1146ProblemDescription妈妈每天都要出去买菜,但是回来后,兜里的钱也懒得数一数,到底花了多少钱真是一笔糊涂帐。现在好了,作为好儿子(女儿)的你可以给她用程序算一下了,呵呵。Input输入含有一些数据组,每组数据包括菜种(字串),数量(计量单位不论,一律为double型数)和单价(double型数,表示人民币元数),因此,每组数据的菜价就是数量乘上单价啊。菜种、数量和单价之间都有空格隔开的。Output
a=1;b=1;
scanf("%d%d",&n,&m);
if(m-nfor(j=m,k=1;j>=m-n+1;j--,k++){a*=j;b*=k;for(s=n;s>=2;s--)if(a%s==0&&b%s==0){a=a/s;b=b/s;}}l=a/b;printf("%ld\n",l);}return0;}还是A+BTimeLimit:2000/1000MS(Java/Others)MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):4016AcceptedSubmission(s):2019ProblemDescription读入两个小于10000的正整数A和B,计算A+B。需要注意的是:如果A和B的末尾K(不超过8)位数字相同,请直接输出-1。Input测试输入包含若干测试用例,每个测试用例占一行,格式为"ABK",相邻两数字有一个空格间隔。当A和B同时为0时输入结束,相应的结果不要输出。Output对每个测试用例输出1行,即A+B的值或者是-1。SampleInput121112111088236643001SampleOutput3-1-1100#includeusingnamespacestd;intmain(){inta,b,s,k,i;while(cin>>a>>b>>k){s=1;if(a==0&&b==0)break;for(i=1;i<=k;i++)s*=10;if(a%s==b%s)cout<<"-1"<elsecout<}return0;}反正切函数的应用TimeLimit:1000MSMemoryLimit:10000KTotalSubmissions:7778Accepted:2884Description反正切函数可展开成无穷级数,有如下公式(其中0<=x<=1)公式(1)使用反正切函数计算PI是一种常用的方法。例如,最简单的计算PI的方法:PI=4arctan(1)=4(1-1/3+1/5-1/7+1/9-1/11+...)公式(2)然而,这种方法的效率很低,但我们可以根据角度和的正切函数公式:tan(a+b)=[tan(a)+tan(b)]/[1-tan(a)*tan(b)]公式(3)通过简单的变换得到:arctan(p)+arctan(q)=arctan[(p+q)/(1-pq)]公式(4)利用这个公式,令p=1/2,q=1/3,则(p+q)/(1-pq)=1,有arctan(1/2)+arctan(1/3)=arctan[(1/2+1/3)/(1-1/2*1/3)]=arctan(1)使用1/2和1/3的反正切来计算arctan(1),速度就快多了。我们将公式(4)写成如下形式arctan(1/a)=arctan(1/b)+arctan(1/c)其中a,b和c均为正整数。我们的问题是:对于每一个给定的a(1<=a<=60000),求b+c的值。我们保证对于任意的a都存在整数解。如果有多个解,要求你给出b+c最小的解。Input输入文件中只有一个正整数a,其中1<=a<=60000。Output输出文件中只有一个整数,为b+c的值。SampleInput1SampleOutput5#includeintmain(){__int64i,a;while(scanf("%I64d",&a)!=EOF){for(i=2*a;;i--){if((i*i+1)%(i-a)==0)break;}printf("%I64d\n",(i*i+1)/(i-a));}return0;}{A}+{B}TimeLimit:10000/5000MS(Java/Others)MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):2519AcceptedSubmission(s):980ProblemDescription给你两个集合,要求{A}+{B}.注:同一个集合中不会有两个相同的元素.Input每组输入数据分为三行,第一行有两个数字n,m(0Output针对每组数据输出一行数据,表示合并后的集合,要求从小到大输出,每个元素之间有一个空格隔开.SampleInput1212312112SampleOutput12312#include#include#includeusingnamespacestd;intcmp(constvoid*s1,constvoid*s2){return*(int*)s1-*(int*)s2;}intmain(){intn,m,i,j,k,a[20000];while(cin>>n>>m){memset(a,0,sizeof(int));for(i=0;icin>>a[i];for(j=n;jcin>>a[j];qsort(a,m+n,sizeof(int),cmp);cout<for(k=1;k{if(a[k]==a[k-1])continue;elsecout<<""<}cout<}return0;}粗心的物理学家--------------------------------------------------------------------------------TimeLimit:1sMemorylimit:32MAcceptedSubmit:834TotalSubmit:2892--------------------------------------------------------------------------------世界著名的物理学家Albert正在计算的值。不幸的是,由于这项工作十分枯燥无味,这位伟大的物理学家得到了错误的答案。由于这一错误,它制造的几颗原子弹失去了控制,射向了五座重要的城市和一片热带雨林……现在你的任务是帮助这位物理学家纠正这一错误,从而拯救世界。对于给定的n(n≤5*10^6),计算代数式的值。输入输出格式输入数据由多组数据组成。每组数据一行,仅有一个整数,表示n的值。对于每组数据,输出代数式的值(小数点后保留12位有效数字)。样例输入2样例输出1.500000000000#includeintmain(){longi,n;doubles;while(scanf("%ld",&n)!=EOF){s=1;for(i=2;i<=n;i++)s+=(double)1/i;printf("%.12f\n",s);}return0;}老师的苦恼--------------------------------------------------------------------------------TimeLimit:1sMemorylimit:32MAcceptedSubmit:738TotalSubmit:1942--------------------------------------------------------------------------------Bob写文章时喜欢将英文字母的大小写混用,例如ComputerScience经常被他写成coMpUtErscIeNce,这让他的英文老师十分苦恼,现在请你帮Bob的英文老师写一个程序能够将Bob的文章中的英文字母全部变成小写的。输入输出格式输入数据由多组数据组成。每组数据只有一行,表示Bob写的文章中的一句话,由字母、空格、数字以及各种标点组成,文字长度不超过50个字符。对于每组数据,输出仅一行,即转换成小写字母之后的结果。样例输入weLcOmEtOFZuPC2005!样例输入welcometofzupc2005!#include#includeusingnamespacestd;intmain(){chara[60];intj,len;while(gets(a)){len=strlen(a);for(j=0;j{if(a[j]>=65&&a[j]<=90)a[j]=a[j]+32;cout<}cout<}return0;}阅读顺序--------------------------------------------------------------------------------TimeLimit:1sMemorylimit:32MAcceptedSubmit:917TotalSubmit:2424--------------------------------------------------------------------------------大多数语言是从左向右读的。但是,在一些语言中,阅读顺序是从右向左读的。这给语言交流增加了不少的麻烦。现在,请你编写一个程序,能够将一从左到右书写的文字自动转成从右向左的顺序。输入输入的第一行是一个数字n(n<100),接下来的有n行的文字,由字母、空格、数字以及各种标点组成,每行文字长度不超过200个字符。输出将输入的文字转成从右向左的顺序,一行输入对应一行输出。输入样例3amanaplanacanalpanamaFrankly,Idon'tthinkwe'llmakemuchOK?输出样例amanaplanacanalpanamahcumekamll'ewknihtt'nodI,ylknarF?KO解释如果不考虑词与词之间的空格,第一句话从左向右读和从右向左读的结果是一样的:-)#includeusingnamespacestd;intmain(){intn,i,len,j;chara[200];cin>>n;getchar();for(j=0;j{gets(a);len=strlen(a);for(i=len-1;i>=0;i--)cout<cout<}return0;}做减法--------------------------------------------------------------------------------TimeLimit:1sMemorylimit:32MAcceptedSubmit:608TotalSubmit:2260--------------------------------------------------------------------------------乐乐今天刚学减法,老师布置了好多关于减法的家庭作业题。乐乐可不想把时间都浪费在这重复机械的题目上。你能帮帮她吗?输入输出格式输入数据由多组数据组成。每组数据只有一行,包含两个整数,用空格分开。对于每组数据,输出一行,包含两个整数的差。如果数字超过3位,应从最低位起,按每三位分组。题目所有输入输出保证在[-2^31,2^31-1]范围内。样例输入20001000样例输出1,000#include#includeusingnamespacestd;intmain(){inti,j;longn,m,s,k[100],t;while(cin>>n>>m){i=0;s=n-m;if(s<999)cout<else{while(s>999){k[i++]=s%1000;s=s/1000;}if(s<999)cout<for(j=i-1;j>=1;j--)if(k[j]>=0&&k[j]<=9)cout<<"00"<elseif(k[j]>=10&&k[j]<=19)cout<<"0"<elsecout<if(j==0)if(k[0]>=0&&k[0]<=9)cout<<"00"<elseif(k[0]>=10&&k[0]<=19)cout<<"0"<elsecout<}}return0;}不要62TimeLimit:1000/1000MS(Java/Others)MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):2329AcceptedSubmission(s):691ProblemDescription杭州人称那些傻乎乎粘嗒嗒的人为62(音:laoer)。杭州交通管理局经常会扩充一些的士车牌照,新近出来一个好消息,以后上牌照,不再含有不吉利的数字了,这样一来,就可以消除个别的士司机和乘客的心理障碍,更安全地服务大众。不吉利的数字为所有含有4或62的号码。例如:623157341888914都属于不吉利号码。但是,61152虽然含有6和2,但不是62连号,所以不属于不吉利数字之列。你的任务是,对于每次给出的一个牌照区间号,推断出交管局今次又要实际上给多少辆新的士车上牌照了。Input输入的都是整数对n、m(0Output对于每个整数对,输出一个不含有不吉利数字的统计个数,该数值占一行位置。SampleInput110000SampleOutput80#includeusingnamespacestd;inta[1000001];intmain(){inti,n,m;chars[20];a[0]=0;for(i=1;i<=1000000;i++){sprintf(s,"%d",i);if(!strstr(s,"4")&&!strstr(s,"62"))a[i]=a[i-1]+1;elsea[i]=a[i-1];}while(cin>>m>>n){if(!m&&!n)break;cout<}return0;}进制转换TimeLimit:2000/1000MS(Java/Others)MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):3629AcceptedSubmission(s):2020ProblemDescription输入一个十进制数N,将它转换成R进制数输出。Input输入数据包含多个测试实例,每个测试实例包含两个整数N(32位整数)和R(2<=R<=16,R<>10)。Output为每个测试实例输出转换后的数,每个输出占一行。如果R大于10,则对应的数字规则参考16进制(比如,10用A表示,等等)。SampleInput722312-43SampleOutput1111B-11#include#includeusingnamespacestd;intmain(){intn,r,a[100],i,j,m;while(cin>>m>>r){i=0;n=abs(m);while(n!=0){a[i]=n%r;n=n/r;i++;}if(m<0)cout<<"-";for(j=i-1;j>=0;j--){if(a[j]==10)cout<<"A";elseif(a[j]==11)cout<<"B";elseif(a[j]==12)cout<<"C";elseif(a[j]==13)cout<<"D";elseif(a[j]==14)cout<<"E";elseif(a[j]==15)cout<<"F";elsecout<}cout<}return0;}人见人爱A+BTimeLimit:2000/1000MS(Java/Others)MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):3960AcceptedSubmission(s):2563ProblemDescriptionHDOJ上面已经有10来道A+B的题目了,相信这些题目曾经是大家的最爱,希望今天的这个A+B能给大家带来好运,也希望这个题目能唤起大家对ACM曾经的热爱。这个题目的A和B不是简单的整数,而是两个时间,A和B都是由3个整数组成,分别表示时分秒,比如,假设A为344556,就表示A所表示的时间是34小时45分钟56秒。Input输入数据有多行组成,首先是一个整数N,表示测试实例的个数,然后是N行数据,每行有6个整数AH,AM,AS,BH,BM,BS,分别表示时间A和B所对应的时分秒。题目保证所有的数据合法。Output对于每个测试实例,输出A+B,每个输出结果也是由时分秒3部分组成,同时也要满足时间的规则(即:分和秒的取值范围在0~59),每个输出占一行,并且所有的部分都可以用32位整数表示。SampleInput2123456344556122334#include#includeusingnamespacestd;intmain(){intn,a[3],b[3],i,j,k,m,s,f,l,t;cin>>n;for(i=0;i{l=0;t=0;s=0;f=0;m=0;for(j=0;j<3;j++)cin>>a[j];for(k=0;k<3;k++)cin>>b[k];m=a[2]+b[2];if(m>60){m=m-60;t=1;}f=a[1]+b[1];if(t)f=f+1;if(f>60){l=1;f=f-60;}s=a[0]+b[0];if(l)s=s+1;cout<}return0;}算菜价TimeLimit:1000/1000MS(Java/Others)MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):2147AcceptedSubmission(s):1146ProblemDescription妈妈每天都要出去买菜,但是回来后,兜里的钱也懒得数一数,到底花了多少钱真是一笔糊涂帐。现在好了,作为好儿子(女儿)的你可以给她用程序算一下了,呵呵。Input输入含有一些数据组,每组数据包括菜种(字串),数量(计量单位不论,一律为double型数)和单价(double型数,表示人民币元数),因此,每组数据的菜价就是数量乘上单价啊。菜种、数量和单价之间都有空格隔开的。Output
for(j=m,k=1;j>=m-n+1;j--,k++)
a*=j;b*=k;
for(s=n;s>=2;s--)
if(a%s==0&&b%s==0){a=a/s;b=b/s;}
}
l=a/b;
printf("%ld\n",l);
return0;
还是A+B
2000/1000MS(Java/Others)MemoryLimit:
65536/32768K(Java/Others)
TotalSubmission(s):
4016AcceptedSubmission(s):
2019
ProblemDescription
读入两个小于10000的正整数A和B,计算A+B。
需要注意的是:
如果A和B的末尾K(不超过8)位数字相同,请直接输出-1。
Input
测试输入包含若干测试用例,每个测试用例占一行,格式为"ABK",相邻两数字有一个空格间隔。
当A和B同时为0时输入结束,相应的结果不要输出。
Output
对每个测试用例输出1行,即A+B的值或者是-1。
SampleInput
121
11211
10882
36643
001
SampleOutput
3
-1
100
usingnamespacestd;
inta,b,s,k,i;
while(cin>>a>>b>>k)
s=1;
if(a==0&&b==0)
break;
for(i=1;i<=k;i++)
s*=10;
if(a%s==b%s)
cout<<"-1"<elsecout<}return0;}反正切函数的应用TimeLimit:1000MSMemoryLimit:10000KTotalSubmissions:7778Accepted:2884Description反正切函数可展开成无穷级数,有如下公式(其中0<=x<=1)公式(1)使用反正切函数计算PI是一种常用的方法。例如,最简单的计算PI的方法:PI=4arctan(1)=4(1-1/3+1/5-1/7+1/9-1/11+...)公式(2)然而,这种方法的效率很低,但我们可以根据角度和的正切函数公式:tan(a+b)=[tan(a)+tan(b)]/[1-tan(a)*tan(b)]公式(3)通过简单的变换得到:arctan(p)+arctan(q)=arctan[(p+q)/(1-pq)]公式(4)利用这个公式,令p=1/2,q=1/3,则(p+q)/(1-pq)=1,有arctan(1/2)+arctan(1/3)=arctan[(1/2+1/3)/(1-1/2*1/3)]=arctan(1)使用1/2和1/3的反正切来计算arctan(1),速度就快多了。我们将公式(4)写成如下形式arctan(1/a)=arctan(1/b)+arctan(1/c)其中a,b和c均为正整数。我们的问题是:对于每一个给定的a(1<=a<=60000),求b+c的值。我们保证对于任意的a都存在整数解。如果有多个解,要求你给出b+c最小的解。Input输入文件中只有一个正整数a,其中1<=a<=60000。Output输出文件中只有一个整数,为b+c的值。SampleInput1SampleOutput5#includeintmain(){__int64i,a;while(scanf("%I64d",&a)!=EOF){for(i=2*a;;i--){if((i*i+1)%(i-a)==0)break;}printf("%I64d\n",(i*i+1)/(i-a));}return0;}{A}+{B}TimeLimit:10000/5000MS(Java/Others)MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):2519AcceptedSubmission(s):980ProblemDescription给你两个集合,要求{A}+{B}.注:同一个集合中不会有两个相同的元素.Input每组输入数据分为三行,第一行有两个数字n,m(0Output针对每组数据输出一行数据,表示合并后的集合,要求从小到大输出,每个元素之间有一个空格隔开.SampleInput1212312112SampleOutput12312#include#include#includeusingnamespacestd;intcmp(constvoid*s1,constvoid*s2){return*(int*)s1-*(int*)s2;}intmain(){intn,m,i,j,k,a[20000];while(cin>>n>>m){memset(a,0,sizeof(int));for(i=0;icin>>a[i];for(j=n;jcin>>a[j];qsort(a,m+n,sizeof(int),cmp);cout<for(k=1;k{if(a[k]==a[k-1])continue;elsecout<<""<}cout<}return0;}粗心的物理学家--------------------------------------------------------------------------------TimeLimit:1sMemorylimit:32MAcceptedSubmit:834TotalSubmit:2892--------------------------------------------------------------------------------世界著名的物理学家Albert正在计算的值。不幸的是,由于这项工作十分枯燥无味,这位伟大的物理学家得到了错误的答案。由于这一错误,它制造的几颗原子弹失去了控制,射向了五座重要的城市和一片热带雨林……现在你的任务是帮助这位物理学家纠正这一错误,从而拯救世界。对于给定的n(n≤5*10^6),计算代数式的值。输入输出格式输入数据由多组数据组成。每组数据一行,仅有一个整数,表示n的值。对于每组数据,输出代数式的值(小数点后保留12位有效数字)。样例输入2样例输出1.500000000000#includeintmain(){longi,n;doubles;while(scanf("%ld",&n)!=EOF){s=1;for(i=2;i<=n;i++)s+=(double)1/i;printf("%.12f\n",s);}return0;}老师的苦恼--------------------------------------------------------------------------------TimeLimit:1sMemorylimit:32MAcceptedSubmit:738TotalSubmit:1942--------------------------------------------------------------------------------Bob写文章时喜欢将英文字母的大小写混用,例如ComputerScience经常被他写成coMpUtErscIeNce,这让他的英文老师十分苦恼,现在请你帮Bob的英文老师写一个程序能够将Bob的文章中的英文字母全部变成小写的。输入输出格式输入数据由多组数据组成。每组数据只有一行,表示Bob写的文章中的一句话,由字母、空格、数字以及各种标点组成,文字长度不超过50个字符。对于每组数据,输出仅一行,即转换成小写字母之后的结果。样例输入weLcOmEtOFZuPC2005!样例输入welcometofzupc2005!#include#includeusingnamespacestd;intmain(){chara[60];intj,len;while(gets(a)){len=strlen(a);for(j=0;j{if(a[j]>=65&&a[j]<=90)a[j]=a[j]+32;cout<}cout<}return0;}阅读顺序--------------------------------------------------------------------------------TimeLimit:1sMemorylimit:32MAcceptedSubmit:917TotalSubmit:2424--------------------------------------------------------------------------------大多数语言是从左向右读的。但是,在一些语言中,阅读顺序是从右向左读的。这给语言交流增加了不少的麻烦。现在,请你编写一个程序,能够将一从左到右书写的文字自动转成从右向左的顺序。输入输入的第一行是一个数字n(n<100),接下来的有n行的文字,由字母、空格、数字以及各种标点组成,每行文字长度不超过200个字符。输出将输入的文字转成从右向左的顺序,一行输入对应一行输出。输入样例3amanaplanacanalpanamaFrankly,Idon'tthinkwe'llmakemuchOK?输出样例amanaplanacanalpanamahcumekamll'ewknihtt'nodI,ylknarF?KO解释如果不考虑词与词之间的空格,第一句话从左向右读和从右向左读的结果是一样的:-)#includeusingnamespacestd;intmain(){intn,i,len,j;chara[200];cin>>n;getchar();for(j=0;j{gets(a);len=strlen(a);for(i=len-1;i>=0;i--)cout<cout<}return0;}做减法--------------------------------------------------------------------------------TimeLimit:1sMemorylimit:32MAcceptedSubmit:608TotalSubmit:2260--------------------------------------------------------------------------------乐乐今天刚学减法,老师布置了好多关于减法的家庭作业题。乐乐可不想把时间都浪费在这重复机械的题目上。你能帮帮她吗?输入输出格式输入数据由多组数据组成。每组数据只有一行,包含两个整数,用空格分开。对于每组数据,输出一行,包含两个整数的差。如果数字超过3位,应从最低位起,按每三位分组。题目所有输入输出保证在[-2^31,2^31-1]范围内。样例输入20001000样例输出1,000#include#includeusingnamespacestd;intmain(){inti,j;longn,m,s,k[100],t;while(cin>>n>>m){i=0;s=n-m;if(s<999)cout<else{while(s>999){k[i++]=s%1000;s=s/1000;}if(s<999)cout<for(j=i-1;j>=1;j--)if(k[j]>=0&&k[j]<=9)cout<<"00"<elseif(k[j]>=10&&k[j]<=19)cout<<"0"<elsecout<if(j==0)if(k[0]>=0&&k[0]<=9)cout<<"00"<elseif(k[0]>=10&&k[0]<=19)cout<<"0"<elsecout<}}return0;}不要62TimeLimit:1000/1000MS(Java/Others)MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):2329AcceptedSubmission(s):691ProblemDescription杭州人称那些傻乎乎粘嗒嗒的人为62(音:laoer)。杭州交通管理局经常会扩充一些的士车牌照,新近出来一个好消息,以后上牌照,不再含有不吉利的数字了,这样一来,就可以消除个别的士司机和乘客的心理障碍,更安全地服务大众。不吉利的数字为所有含有4或62的号码。例如:623157341888914都属于不吉利号码。但是,61152虽然含有6和2,但不是62连号,所以不属于不吉利数字之列。你的任务是,对于每次给出的一个牌照区间号,推断出交管局今次又要实际上给多少辆新的士车上牌照了。Input输入的都是整数对n、m(0Output对于每个整数对,输出一个不含有不吉利数字的统计个数,该数值占一行位置。SampleInput110000SampleOutput80#includeusingnamespacestd;inta[1000001];intmain(){inti,n,m;chars[20];a[0]=0;for(i=1;i<=1000000;i++){sprintf(s,"%d",i);if(!strstr(s,"4")&&!strstr(s,"62"))a[i]=a[i-1]+1;elsea[i]=a[i-1];}while(cin>>m>>n){if(!m&&!n)break;cout<}return0;}进制转换TimeLimit:2000/1000MS(Java/Others)MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):3629AcceptedSubmission(s):2020ProblemDescription输入一个十进制数N,将它转换成R进制数输出。Input输入数据包含多个测试实例,每个测试实例包含两个整数N(32位整数)和R(2<=R<=16,R<>10)。Output为每个测试实例输出转换后的数,每个输出占一行。如果R大于10,则对应的数字规则参考16进制(比如,10用A表示,等等)。SampleInput722312-43SampleOutput1111B-11#include#includeusingnamespacestd;intmain(){intn,r,a[100],i,j,m;while(cin>>m>>r){i=0;n=abs(m);while(n!=0){a[i]=n%r;n=n/r;i++;}if(m<0)cout<<"-";for(j=i-1;j>=0;j--){if(a[j]==10)cout<<"A";elseif(a[j]==11)cout<<"B";elseif(a[j]==12)cout<<"C";elseif(a[j]==13)cout<<"D";elseif(a[j]==14)cout<<"E";elseif(a[j]==15)cout<<"F";elsecout<}cout<}return0;}人见人爱A+BTimeLimit:2000/1000MS(Java/Others)MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):3960AcceptedSubmission(s):2563ProblemDescriptionHDOJ上面已经有10来道A+B的题目了,相信这些题目曾经是大家的最爱,希望今天的这个A+B能给大家带来好运,也希望这个题目能唤起大家对ACM曾经的热爱。这个题目的A和B不是简单的整数,而是两个时间,A和B都是由3个整数组成,分别表示时分秒,比如,假设A为344556,就表示A所表示的时间是34小时45分钟56秒。Input输入数据有多行组成,首先是一个整数N,表示测试实例的个数,然后是N行数据,每行有6个整数AH,AM,AS,BH,BM,BS,分别表示时间A和B所对应的时分秒。题目保证所有的数据合法。Output对于每个测试实例,输出A+B,每个输出结果也是由时分秒3部分组成,同时也要满足时间的规则(即:分和秒的取值范围在0~59),每个输出占一行,并且所有的部分都可以用32位整数表示。SampleInput2123456344556122334#include#includeusingnamespacestd;intmain(){intn,a[3],b[3],i,j,k,m,s,f,l,t;cin>>n;for(i=0;i{l=0;t=0;s=0;f=0;m=0;for(j=0;j<3;j++)cin>>a[j];for(k=0;k<3;k++)cin>>b[k];m=a[2]+b[2];if(m>60){m=m-60;t=1;}f=a[1]+b[1];if(t)f=f+1;if(f>60){l=1;f=f-60;}s=a[0]+b[0];if(l)s=s+1;cout<}return0;}算菜价TimeLimit:1000/1000MS(Java/Others)MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):2147AcceptedSubmission(s):1146ProblemDescription妈妈每天都要出去买菜,但是回来后,兜里的钱也懒得数一数,到底花了多少钱真是一笔糊涂帐。现在好了,作为好儿子(女儿)的你可以给她用程序算一下了,呵呵。Input输入含有一些数据组,每组数据包括菜种(字串),数量(计量单位不论,一律为double型数)和单价(double型数,表示人民币元数),因此,每组数据的菜价就是数量乘上单价啊。菜种、数量和单价之间都有空格隔开的。Output
else
cout<}return0;}反正切函数的应用TimeLimit:1000MSMemoryLimit:10000KTotalSubmissions:7778Accepted:2884Description反正切函数可展开成无穷级数,有如下公式(其中0<=x<=1)公式(1)使用反正切函数计算PI是一种常用的方法。例如,最简单的计算PI的方法:PI=4arctan(1)=4(1-1/3+1/5-1/7+1/9-1/11+...)公式(2)然而,这种方法的效率很低,但我们可以根据角度和的正切函数公式:tan(a+b)=[tan(a)+tan(b)]/[1-tan(a)*tan(b)]公式(3)通过简单的变换得到:arctan(p)+arctan(q)=arctan[(p+q)/(1-pq)]公式(4)利用这个公式,令p=1/2,q=1/3,则(p+q)/(1-pq)=1,有arctan(1/2)+arctan(1/3)=arctan[(1/2+1/3)/(1-1/2*1/3)]=arctan(1)使用1/2和1/3的反正切来计算arctan(1),速度就快多了。我们将公式(4)写成如下形式arctan(1/a)=arctan(1/b)+arctan(1/c)其中a,b和c均为正整数。我们的问题是:对于每一个给定的a(1<=a<=60000),求b+c的值。我们保证对于任意的a都存在整数解。如果有多个解,要求你给出b+c最小的解。Input输入文件中只有一个正整数a,其中1<=a<=60000。Output输出文件中只有一个整数,为b+c的值。SampleInput1SampleOutput5#includeintmain(){__int64i,a;while(scanf("%I64d",&a)!=EOF){for(i=2*a;;i--){if((i*i+1)%(i-a)==0)break;}printf("%I64d\n",(i*i+1)/(i-a));}return0;}{A}+{B}TimeLimit:10000/5000MS(Java/Others)MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):2519AcceptedSubmission(s):980ProblemDescription给你两个集合,要求{A}+{B}.注:同一个集合中不会有两个相同的元素.Input每组输入数据分为三行,第一行有两个数字n,m(0Output针对每组数据输出一行数据,表示合并后的集合,要求从小到大输出,每个元素之间有一个空格隔开.SampleInput1212312112SampleOutput12312#include#include#includeusingnamespacestd;intcmp(constvoid*s1,constvoid*s2){return*(int*)s1-*(int*)s2;}intmain(){intn,m,i,j,k,a[20000];while(cin>>n>>m){memset(a,0,sizeof(int));for(i=0;icin>>a[i];for(j=n;jcin>>a[j];qsort(a,m+n,sizeof(int),cmp);cout<for(k=1;k{if(a[k]==a[k-1])continue;elsecout<<""<}cout<}return0;}粗心的物理学家--------------------------------------------------------------------------------TimeLimit:1sMemorylimit:32MAcceptedSubmit:834TotalSubmit:2892--------------------------------------------------------------------------------世界著名的物理学家Albert正在计算的值。不幸的是,由于这项工作十分枯燥无味,这位伟大的物理学家得到了错误的答案。由于这一错误,它制造的几颗原子弹失去了控制,射向了五座重要的城市和一片热带雨林……现在你的任务是帮助这位物理学家纠正这一错误,从而拯救世界。对于给定的n(n≤5*10^6),计算代数式的值。输入输出格式输入数据由多组数据组成。每组数据一行,仅有一个整数,表示n的值。对于每组数据,输出代数式的值(小数点后保留12位有效数字)。样例输入2样例输出1.500000000000#includeintmain(){longi,n;doubles;while(scanf("%ld",&n)!=EOF){s=1;for(i=2;i<=n;i++)s+=(double)1/i;printf("%.12f\n",s);}return0;}老师的苦恼--------------------------------------------------------------------------------TimeLimit:1sMemorylimit:32MAcceptedSubmit:738TotalSubmit:1942--------------------------------------------------------------------------------Bob写文章时喜欢将英文字母的大小写混用,例如ComputerScience经常被他写成coMpUtErscIeNce,这让他的英文老师十分苦恼,现在请你帮Bob的英文老师写一个程序能够将Bob的文章中的英文字母全部变成小写的。输入输出格式输入数据由多组数据组成。每组数据只有一行,表示Bob写的文章中的一句话,由字母、空格、数字以及各种标点组成,文字长度不超过50个字符。对于每组数据,输出仅一行,即转换成小写字母之后的结果。样例输入weLcOmEtOFZuPC2005!样例输入welcometofzupc2005!#include#includeusingnamespacestd;intmain(){chara[60];intj,len;while(gets(a)){len=strlen(a);for(j=0;j{if(a[j]>=65&&a[j]<=90)a[j]=a[j]+32;cout<}cout<}return0;}阅读顺序--------------------------------------------------------------------------------TimeLimit:1sMemorylimit:32MAcceptedSubmit:917TotalSubmit:2424--------------------------------------------------------------------------------大多数语言是从左向右读的。但是,在一些语言中,阅读顺序是从右向左读的。这给语言交流增加了不少的麻烦。现在,请你编写一个程序,能够将一从左到右书写的文字自动转成从右向左的顺序。输入输入的第一行是一个数字n(n<100),接下来的有n行的文字,由字母、空格、数字以及各种标点组成,每行文字长度不超过200个字符。输出将输入的文字转成从右向左的顺序,一行输入对应一行输出。输入样例3amanaplanacanalpanamaFrankly,Idon'tthinkwe'llmakemuchOK?输出样例amanaplanacanalpanamahcumekamll'ewknihtt'nodI,ylknarF?KO解释如果不考虑词与词之间的空格,第一句话从左向右读和从右向左读的结果是一样的:-)#includeusingnamespacestd;intmain(){intn,i,len,j;chara[200];cin>>n;getchar();for(j=0;j{gets(a);len=strlen(a);for(i=len-1;i>=0;i--)cout<cout<}return0;}做减法--------------------------------------------------------------------------------TimeLimit:1sMemorylimit:32MAcceptedSubmit:608TotalSubmit:2260--------------------------------------------------------------------------------乐乐今天刚学减法,老师布置了好多关于减法的家庭作业题。乐乐可不想把时间都浪费在这重复机械的题目上。你能帮帮她吗?输入输出格式输入数据由多组数据组成。每组数据只有一行,包含两个整数,用空格分开。对于每组数据,输出一行,包含两个整数的差。如果数字超过3位,应从最低位起,按每三位分组。题目所有输入输出保证在[-2^31,2^31-1]范围内。样例输入20001000样例输出1,000#include#includeusingnamespacestd;intmain(){inti,j;longn,m,s,k[100],t;while(cin>>n>>m){i=0;s=n-m;if(s<999)cout<else{while(s>999){k[i++]=s%1000;s=s/1000;}if(s<999)cout<for(j=i-1;j>=1;j--)if(k[j]>=0&&k[j]<=9)cout<<"00"<elseif(k[j]>=10&&k[j]<=19)cout<<"0"<elsecout<if(j==0)if(k[0]>=0&&k[0]<=9)cout<<"00"<elseif(k[0]>=10&&k[0]<=19)cout<<"0"<elsecout<}}return0;}不要62TimeLimit:1000/1000MS(Java/Others)MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):2329AcceptedSubmission(s):691ProblemDescription杭州人称那些傻乎乎粘嗒嗒的人为62(音:laoer)。杭州交通管理局经常会扩充一些的士车牌照,新近出来一个好消息,以后上牌照,不再含有不吉利的数字了,这样一来,就可以消除个别的士司机和乘客的心理障碍,更安全地服务大众。不吉利的数字为所有含有4或62的号码。例如:623157341888914都属于不吉利号码。但是,61152虽然含有6和2,但不是62连号,所以不属于不吉利数字之列。你的任务是,对于每次给出的一个牌照区间号,推断出交管局今次又要实际上给多少辆新的士车上牌照了。Input输入的都是整数对n、m(0Output对于每个整数对,输出一个不含有不吉利数字的统计个数,该数值占一行位置。SampleInput110000SampleOutput80#includeusingnamespacestd;inta[1000001];intmain(){inti,n,m;chars[20];a[0]=0;for(i=1;i<=1000000;i++){sprintf(s,"%d",i);if(!strstr(s,"4")&&!strstr(s,"62"))a[i]=a[i-1]+1;elsea[i]=a[i-1];}while(cin>>m>>n){if(!m&&!n)break;cout<}return0;}进制转换TimeLimit:2000/1000MS(Java/Others)MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):3629AcceptedSubmission(s):2020ProblemDescription输入一个十进制数N,将它转换成R进制数输出。Input输入数据包含多个测试实例,每个测试实例包含两个整数N(32位整数)和R(2<=R<=16,R<>10)。Output为每个测试实例输出转换后的数,每个输出占一行。如果R大于10,则对应的数字规则参考16进制(比如,10用A表示,等等)。SampleInput722312-43SampleOutput1111B-11#include#includeusingnamespacestd;intmain(){intn,r,a[100],i,j,m;while(cin>>m>>r){i=0;n=abs(m);while(n!=0){a[i]=n%r;n=n/r;i++;}if(m<0)cout<<"-";for(j=i-1;j>=0;j--){if(a[j]==10)cout<<"A";elseif(a[j]==11)cout<<"B";elseif(a[j]==12)cout<<"C";elseif(a[j]==13)cout<<"D";elseif(a[j]==14)cout<<"E";elseif(a[j]==15)cout<<"F";elsecout<}cout<}return0;}人见人爱A+BTimeLimit:2000/1000MS(Java/Others)MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):3960AcceptedSubmission(s):2563ProblemDescriptionHDOJ上面已经有10来道A+B的题目了,相信这些题目曾经是大家的最爱,希望今天的这个A+B能给大家带来好运,也希望这个题目能唤起大家对ACM曾经的热爱。这个题目的A和B不是简单的整数,而是两个时间,A和B都是由3个整数组成,分别表示时分秒,比如,假设A为344556,就表示A所表示的时间是34小时45分钟56秒。Input输入数据有多行组成,首先是一个整数N,表示测试实例的个数,然后是N行数据,每行有6个整数AH,AM,AS,BH,BM,BS,分别表示时间A和B所对应的时分秒。题目保证所有的数据合法。Output对于每个测试实例,输出A+B,每个输出结果也是由时分秒3部分组成,同时也要满足时间的规则(即:分和秒的取值范围在0~59),每个输出占一行,并且所有的部分都可以用32位整数表示。SampleInput2123456344556122334#include#includeusingnamespacestd;intmain(){intn,a[3],b[3],i,j,k,m,s,f,l,t;cin>>n;for(i=0;i{l=0;t=0;s=0;f=0;m=0;for(j=0;j<3;j++)cin>>a[j];for(k=0;k<3;k++)cin>>b[k];m=a[2]+b[2];if(m>60){m=m-60;t=1;}f=a[1]+b[1];if(t)f=f+1;if(f>60){l=1;f=f-60;}s=a[0]+b[0];if(l)s=s+1;cout<}return0;}算菜价TimeLimit:1000/1000MS(Java/Others)MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):2147AcceptedSubmission(s):1146ProblemDescription妈妈每天都要出去买菜,但是回来后,兜里的钱也懒得数一数,到底花了多少钱真是一笔糊涂帐。现在好了,作为好儿子(女儿)的你可以给她用程序算一下了,呵呵。Input输入含有一些数据组,每组数据包括菜种(字串),数量(计量单位不论,一律为double型数)和单价(double型数,表示人民币元数),因此,每组数据的菜价就是数量乘上单价啊。菜种、数量和单价之间都有空格隔开的。Output
反正切函数的应用
1000MSMemoryLimit:
10000K
TotalSubmissions:
7778Accepted:
2884
Description
反正切函数可展开成无穷级数,有如下公式
(其中0<=x<=1)公式
(1)
使用反正切函数计算PI是一种常用的方法。
例如,最简单的计算PI的方法:
PI=4arctan
(1)=4(1-1/3+1/5-1/7+1/9-1/11+...)公式
(2)
然而,这种方法的效率很低,但我们可以根据角度和的正切函数公式:
tan(a+b)=[tan(a)+tan(b)]/[1-tan(a)*tan(b)]公式(3)
通过简单的变换得到:
arctan(p)+arctan(q)=arctan[(p+q)/(1-pq)]公式(4)
利用这个公式,令p=1/2,q=1/3,则(p+q)/(1-pq)=1,有
arctan(1/2)+arctan(1/3)=arctan[(1/2+1/3)/(1-1/2*1/3)]=arctan
使用1/2和1/3的反正切来计算arctan
(1),速度就快多了。
我们将公式(4)写成如下形式
arctan(1/a)=arctan(1/b)+arctan(1/c)
其中a,b和c均为正整数。
我们的问题是:
对于每一个给定的a(1<=a<=60000),求b+c的值。
我们保证对于任意的a都存在整数解。
如果有多个解,要求你给出b+c最小的解。
输入文件中只有一个正整数a,其中1<=a<=60000。
输出文件中只有一个整数,为b+c的值。
1
5
__int64i,a;
while(scanf("%I64d",&a)!
=EOF)
for(i=2*a;;i--)
if((i*i+1)%(i-a)==0)
printf("%I64d\n",(i*i+1)/(i-a));
{A}+{B}
10000/5000MS(Java/Others)MemoryLimit:
2519AcceptedSubmission(s):
980
给你两个集合,要求{A}+{B}.
注:
同一个集合中不会有两个相同的元素.
每组输入数据分为三行,第一行有两个数字n,m(0Output针对每组数据输出一行数据,表示合并后的集合,要求从小到大输出,每个元素之间有一个空格隔开.SampleInput1212312112SampleOutput12312#include#include#includeusingnamespacestd;intcmp(constvoid*s1,constvoid*s2){return*(int*)s1-*(int*)s2;}intmain(){intn,m,i,j,k,a[20000];while(cin>>n>>m){memset(a,0,sizeof(int));for(i=0;icin>>a[i];for(j=n;jcin>>a[j];qsort(a,m+n,sizeof(int),cmp);cout<for(k=1;k{if(a[k]==a[k-1])continue;elsecout<<""<}cout<}return0;}粗心的物理学家--------------------------------------------------------------------------------TimeLimit:1sMemorylimit:32MAcceptedSubmit:834TotalSubmit:2892--------------------------------------------------------------------------------世界著名的物理学家Albert正在计算的值。不幸的是,由于这项工作十分枯燥无味,这位伟大的物理学家得到了错误的答案。由于这一错误,它制造的几颗原子弹失去了控制,射向了五座重要的城市和一片热带雨林……现在你的任务是帮助这位物理学家纠正这一错误,从而拯救世界。对于给定的n(n≤5*10^6),计算代数式的值。输入输出格式输入数据由多组数据组成。每组数据一行,仅有一个整数,表示n的值。对于每组数据,输出代数式的值(小数点后保留12位有效数字)。样例输入2样例输出1.500000000000#includeintmain(){longi,n;doubles;while(scanf("%ld",&n)!=EOF){s=1;for(i=2;i<=n;i++)s+=(double)1/i;printf("%.12f\n",s);}return0;}老师的苦恼--------------------------------------------------------------------------------TimeLimit:1sMemorylimit:32MAcceptedSubmit:738TotalSubmit:1942--------------------------------------------------------------------------------Bob写文章时喜欢将英文字母的大小写混用,例如ComputerScience经常被他写成coMpUtErscIeNce,这让他的英文老师十分苦恼,现在请你帮Bob的英文老师写一个程序能够将Bob的文章中的英文字母全部变成小写的。输入输出格式输入数据由多组数据组成。每组数据只有一行,表示Bob写的文章中的一句话,由字母、空格、数字以及各种标点组成,文字长度不超过50个字符。对于每组数据,输出仅一行,即转换成小写字母之后的结果。样例输入weLcOmEtOFZuPC2005!样例输入welcometofzupc2005!#include#includeusingnamespacestd;intmain(){chara[60];intj,len;while(gets(a)){len=strlen(a);for(j=0;j{if(a[j]>=65&&a[j]<=90)a[j]=a[j]+32;cout<}cout<}return0;}阅读顺序--------------------------------------------------------------------------------TimeLimit:1sMemorylimit:32MAcceptedSubmit:917TotalSubmit:2424--------------------------------------------------------------------------------大多数语言是从左向右读的。但是,在一些语言中,阅读顺序是从右向左读的。这给语言交流增加了不少的麻烦。现在,请你编写一个程序,能够将一从左到右书写的文字自动转成从右向左的顺序。输入输入的第一行是一个数字n(n<100),接下来的有n行的文字,由字母、空格、数字以及各种标点组成,每行文字长度不超过200个字符。输出将输入的文字转成从右向左的顺序,一行输入对应一行输出。输入样例3amanaplanacanalpanamaFrankly,Idon'tthinkwe'llmakemuchOK?输出样例amanaplanacanalpanamahcumekamll'ewknihtt'nodI,ylknarF?KO解释如果不考虑词与词之间的空格,第一句话从左向右读和从右向左读的结果是一样的:-)#includeusingnamespacestd;intmain(){intn,i,len,j;chara[200];cin>>n;getchar();for(j=0;j{gets(a);len=strlen(a);for(i=len-1;i>=0;i--)cout<cout<}return0;}做减法--------------------------------------------------------------------------------TimeLimit:1sMemorylimit:32MAcceptedSubmit:608TotalSubmit:2260--------------------------------------------------------------------------------乐乐今天刚学减法,老师布置了好多关于减法的家庭作业题。乐乐可不想把时间都浪费在这重复机械的题目上。你能帮帮她吗?输入输出格式输入数据由多组数据组成。每组数据只有一行,包含两个整数,用空格分开。对于每组数据,输出一行,包含两个整数的差。如果数字超过3位,应从最低位起,按每三位分组。题目所有输入输出保证在[-2^31,2^31-1]范围内。样例输入20001000样例输出1,000#include#includeusingnamespacestd;intmain(){inti,j;longn,m,s,k[100],t;while(cin>>n>>m){i=0;s=n-m;if(s<999)cout<else{while(s>999){k[i++]=s%1000;s=s/1000;}if(s<999)cout<for(j=i-1;j>=1;j--)if(k[j]>=0&&k[j]<=9)cout<<"00"<elseif(k[j]>=10&&k[j]<=19)cout<<"0"<elsecout<if(j==0)if(k[0]>=0&&k[0]<=9)cout<<"00"<elseif(k[0]>=10&&k[0]<=19)cout<<"0"<elsecout<}}return0;}不要62TimeLimit:1000/1000MS(Java/Others)MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):2329AcceptedSubmission(s):691ProblemDescription杭州人称那些傻乎乎粘嗒嗒的人为62(音:laoer)。杭州交通管理局经常会扩充一些的士车牌照,新近出来一个好消息,以后上牌照,不再含有不吉利的数字了,这样一来,就可以消除个别的士司机和乘客的心理障碍,更安全地服务大众。不吉利的数字为所有含有4或62的号码。例如:623157341888914都属于不吉利号码。但是,61152虽然含有6和2,但不是62连号,所以不属于不吉利数字之列。你的任务是,对于每次给出的一个牌照区间号,推断出交管局今次又要实际上给多少辆新的士车上牌照了。Input输入的都是整数对n、m(0Output对于每个整数对,输出一个不含有不吉利数字的统计个数,该数值占一行位置。SampleInput110000SampleOutput80#includeusingnamespacestd;inta[1000001];intmain(){inti,n,m;chars[20];a[0]=0;for(i=1;i<=1000000;i++){sprintf(s,"%d",i);if(!strstr(s,"4")&&!strstr(s,"62"))a[i]=a[i-1]+1;elsea[i]=a[i-1];}while(cin>>m>>n){if(!m&&!n)break;cout<}return0;}进制转换TimeLimit:2000/1000MS(Java/Others)MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):3629AcceptedSubmission(s):2020ProblemDescription输入一个十进制数N,将它转换成R进制数输出。Input输入数据包含多个测试实例,每个测试实例包含两个整数N(32位整数)和R(2<=R<=16,R<>10)。Output为每个测试实例输出转换后的数,每个输出占一行。如果R大于10,则对应的数字规则参考16进制(比如,10用A表示,等等)。SampleInput722312-43SampleOutput1111B-11#include#includeusingnamespacestd;intmain(){intn,r,a[100],i,j,m;while(cin>>m>>r){i=0;n=abs(m);while(n!=0){a[i]=n%r;n=n/r;i++;}if(m<0)cout<<"-";for(j=i-1;j>=0;j--){if(a[j]==10)cout<<"A";elseif(a[j]==11)cout<<"B";elseif(a[j]==12)cout<<"C";elseif(a[j]==13)cout<<"D";elseif(a[j]==14)cout<<"E";elseif(a[j]==15)cout<<"F";elsecout<}cout<}return0;}人见人爱A+BTimeLimit:2000/1000MS(Java/Others)MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):3960AcceptedSubmission(s):2563ProblemDescriptionHDOJ上面已经有10来道A+B的题目了,相信这些题目曾经是大家的最爱,希望今天的这个A+B能给大家带来好运,也希望这个题目能唤起大家对ACM曾经的热爱。这个题目的A和B不是简单的整数,而是两个时间,A和B都是由3个整数组成,分别表示时分秒,比如,假设A为344556,就表示A所表示的时间是34小时45分钟56秒。Input输入数据有多行组成,首先是一个整数N,表示测试实例的个数,然后是N行数据,每行有6个整数AH,AM,AS,BH,BM,BS,分别表示时间A和B所对应的时分秒。题目保证所有的数据合法。Output对于每个测试实例,输出A+B,每个输出结果也是由时分秒3部分组成,同时也要满足时间的规则(即:分和秒的取值范围在0~59),每个输出占一行,并且所有的部分都可以用32位整数表示。SampleInput2123456344556122334#include#includeusingnamespacestd;intmain(){intn,a[3],b[3],i,j,k,m,s,f,l,t;cin>>n;for(i=0;i{l=0;t=0;s=0;f=0;m=0;for(j=0;j<3;j++)cin>>a[j];for(k=0;k<3;k++)cin>>b[k];m=a[2]+b[2];if(m>60){m=m-60;t=1;}f=a[1]+b[1];if(t)f=f+1;if(f>60){l=1;f=f-60;}s=a[0]+b[0];if(l)s=s+1;cout<}return0;}算菜价TimeLimit:1000/1000MS(Java/Others)MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):2147AcceptedSubmission(s):1146ProblemDescription妈妈每天都要出去买菜,但是回来后,兜里的钱也懒得数一数,到底花了多少钱真是一笔糊涂帐。现在好了,作为好儿子(女儿)的你可以给她用程序算一下了,呵呵。Input输入含有一些数据组,每组数据包括菜种(字串),数量(计量单位不论,一律为double型数)和单价(double型数,表示人民币元数),因此,每组数据的菜价就是数量乘上单价啊。菜种、数量和单价之间都有空格隔开的。Output
针对每组数据输出一行数据,表示合并后的集合,要求从小到大输出,每个元素之间有一个空格隔开.
12
23
123
intcmp(constvoid*s1,constvoid*s2)
return*(int*)s1-*(int*)s2;
intn,m,i,j,k,a[20000];
while(cin>>n>>m)
memset(a,0,sizeof(int));
for(i=0;icin>>a[i];for(j=n;jcin>>a[j];qsort(a,m+n,sizeof(int),cmp);cout<for(k=1;k{if(a[k]==a[k-1])continue;elsecout<<""<}cout<}return0;}粗心的物理学家--------------------------------------------------------------------------------TimeLimit:1sMemorylimit:32MAcceptedSubmit:834TotalSubmit:2892--------------------------------------------------------------------------------世界著名的物理学家Albert正在计算的值。不幸的是,由于这项工作十分枯燥无味,这位伟大的物理学家得到了错误的答案。由于这一错误,它制造的几颗原子弹失去了控制,射向了五座重要的城市和一片热带雨林……现在你的任务是帮助这位物理学家纠正这一错误,从而拯救世界。对于给定的n(n≤5*10^6),计算代数式的值。输入输出格式输入数据由多组数据组成。每组数据一行,仅有一个整数,表示n的值。对于每组数据,输出代数式的值(小数点后保留12位有效数字)。样例输入2样例输出1.500000000000#includeintmain(){longi,n;doubles;while(scanf("%ld",&n)!=EOF){s=1;for(i=2;i<=n;i++)s+=(double)1/i;printf("%.12f\n",s);}return0;}老师的苦恼--------------------------------------------------------------------------------TimeLimit:1sMemorylimit:32MAcceptedSubmit:738TotalSubmit:1942--------------------------------------------------------------------------------Bob写文章时喜欢将英文字母的大小写混用,例如ComputerScience经常被他写成coMpUtErscIeNce,这让他的英文老师十分苦恼,现在请你帮Bob的英文老师写一个程序能够将Bob的文章中的英文字母全部变成小写的。输入输出格式输入数据由多组数据组成。每组数据只有一行,表示Bob写的文章中的一句话,由字母、空格、数字以及各种标点组成,文字长度不超过50个字符。对于每组数据,输出仅一行,即转换成小写字母之后的结果。样例输入weLcOmEtOFZuPC2005!样例输入welcometofzupc2005!#include#includeusingnamespacestd;intmain(){chara[60];intj,len;while(gets(a)){len=strlen(a);for(j=0;j{if(a[j]>=65&&a[j]<=90)a[j]=a[j]+32;cout<}cout<}return0;}阅读顺序--------------------------------------------------------------------------------TimeLimit:1sMemorylimit:32MAcceptedSubmit:917TotalSubmit:2424--------------------------------------------------------------------------------大多数语言是从左向右读的。但是,在一些语言中,阅读顺序是从右向左读的。这给语言交流增加了不少的麻烦。现在,请你编写一个程序,能够将一从左到右书写的文字自动转成从右向左的顺序。输入输入的第一行是一个数字n(n<100),接下来的有n行的文字,由字母、空格、数字以及各种标点组成,每行文字长度不超过200个字符。输出将输入的文字转成从右向左的顺序,一行输入对应一行输出。输入样例3amanaplanacanalpanamaFrankly,Idon'tthinkwe'llmakemuchOK?输出样例amanaplanacanalpanamahcumekamll'ewknihtt'nodI,ylknarF?KO解释如果不考虑词与词之间的空格,第一句话从左向右读和从右向左读的结果是一样的:-)#includeusingnamespacestd;intmain(){intn,i,len,j;chara[200];cin>>n;getchar();for(j=0;j{gets(a);len=strlen(a);for(i=len-1;i>=0;i--)cout<cout<}return0;}做减法--------------------------------------------------------------------------------TimeLimit:1sMemorylimit:32MAcceptedSubmit:608TotalSubmit:2260--------------------------------------------------------------------------------乐乐今天刚学减法,老师布置了好多关于减法的家庭作业题。乐乐可不想把时间都浪费在这重复机械的题目上。你能帮帮她吗?输入输出格式输入数据由多组数据组成。每组数据只有一行,包含两个整数,用空格分开。对于每组数据,输出一行,包含两个整数的差。如果数字超过3位,应从最低位起,按每三位分组。题目所有输入输出保证在[-2^31,2^31-1]范围内。样例输入20001000样例输出1,000#include#includeusingnamespacestd;intmain(){inti,j;longn,m,s,k[100],t;while(cin>>n>>m){i=0;s=n-m;if(s<999)cout<else{while(s>999){k[i++]=s%1000;s=s/1000;}if(s<999)cout<for(j=i-1;j>=1;j--)if(k[j]>=0&&k[j]<=9)cout<<"00"<elseif(k[j]>=10&&k[j]<=19)cout<<"0"<elsecout<if(j==0)if(k[0]>=0&&k[0]<=9)cout<<"00"<elseif(k[0]>=10&&k[0]<=19)cout<<"0"<elsecout<}}return0;}不要62TimeLimit:1000/1000MS(Java/Others)MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):2329AcceptedSubmission(s):691ProblemDescription杭州人称那些傻乎乎粘嗒嗒的人为62(音:laoer)。杭州交通管理局经常会扩充一些的士车牌照,新近出来一个好消息,以后上牌照,不再含有不吉利的数字了,这样一来,就可以消除个别的士司机和乘客的心理障碍,更安全地服务大众。不吉利的数字为所有含有4或62的号码。例如:623157341888914都属于不吉利号码。但是,61152虽然含有6和2,但不是62连号,所以不属于不吉利数字之列。你的任务是,对于每次给出的一个牌照区间号,推断出交管局今次又要实际上给多少辆新的士车上牌照了。Input输入的都是整数对n、m(0Output对于每个整数对,输出一个不含有不吉利数字的统计个数,该数值占一行位置。SampleInput110000SampleOutput80#includeusingnamespacestd;inta[1000001];intmain(){inti,n,m;chars[20];a[0]=0;for(i=1;i<=1000000;i++){sprintf(s,"%d",i);if(!strstr(s,"4")&&!strstr(s,"62"))a[i]=a[i-1]+1;elsea[i]=a[i-1];}while(cin>>m>>n){if(!m&&!n)break;cout<}return0;}进制转换TimeLimit:2000/1000MS(Java/Others)MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):3629AcceptedSubmission(s):2020ProblemDescription输入一个十进制数N,将它转换成R进制数输出。Input输入数据包含多个测试实例,每个测试实例包含两个整数N(32位整数)和R(2<=R<=16,R<>10)。Output为每个测试实例输出转换后的数,每个输出占一行。如果R大于10,则对应的数字规则参考16进制(比如,10用A表示,等等)。SampleInput722312-43SampleOutput1111B-11#include#includeusingnamespacestd;intmain(){intn,r,a[100],i,j,m;while(cin>>m>>r){i=0;n=abs(m);while(n!=0){a[i]=n%r;n=n/r;i++;}if(m<0)cout<<"-";for(j=i-1;j>=0;j--){if(a[j]==10)cout<<"A";elseif(a[j]==11)cout<<"B";elseif(a[j]==12)cout<<"C";elseif(a[j]==13)cout<<"D";elseif(a[j]==14)cout<<"E";elseif(a[j]==15)cout<<"F";elsecout<}cout<}return0;}人见人爱A+BTimeLimit:2000/1000MS(Java/Others)MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):3960AcceptedSubmission(s):2563ProblemDescriptionHDOJ上面已经有10来道A+B的题目了,相信这些题目曾经是大家的最爱,希望今天的这个A+B能给大家带来好运,也希望这个题目能唤起大家对ACM曾经的热爱。这个题目的A和B不是简单的整数,而是两个时间,A和B都是由3个整数组成,分别表示时分秒,比如,假设A为344556,就表示A所表示的时间是34小时45分钟56秒。Input输入数据有多行组成,首先是一个整数N,表示测试实例的个数,然后是N行数据,每行有6个整数AH,AM,AS,BH,BM,BS,分别表示时间A和B所对应的时分秒。题目保证所有的数据合法。Output对于每个测试实例,输出A+B,每个输出结果也是由时分秒3部分组成,同时也要满足时间的规则(即:分和秒的取值范围在0~59),每个输出占一行,并且所有的部分都可以用32位整数表示。SampleInput2123456344556122334#include#includeusingnamespacestd;intmain(){intn,a[3],b[3],i,j,k,m,s,f,l,t;cin>>n;for(i=0;i{l=0;t=0;s=0;f=0;m=0;for(j=0;j<3;j++)cin>>a[j];for(k=0;k<3;k++)cin>>b[k];m=a[2]+b[2];if(m>60){m=m-60;t=1;}f=a[1]+b[1];if(t)f=f+1;if(f>60){l=1;f=f-60;}s=a[0]+b[0];if(l)s=s+1;cout<}return0;}算菜价TimeLimit:1000/1000MS(Java/Others)MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):2147AcceptedSubmission(s):1146ProblemDescription妈妈每天都要出去买菜,但是回来后,兜里的钱也懒得数一数,到底花了多少钱真是一笔糊涂帐。现在好了,作为好儿子(女儿)的你可以给她用程序算一下了,呵呵。Input输入含有一些数据组,每组数据包括菜种(字串),数量(计量单位不论,一律为double型数)和单价(double型数,表示人民币元数),因此,每组数据的菜价就是数量乘上单价啊。菜种、数量和单价之间都有空格隔开的。Output
cin>>a[i];
for(j=n;jcin>>a[j];qsort(a,m+n,sizeof(int),cmp);cout<for(k=1;k{if(a[k]==a[k-1])continue;elsecout<<""<}cout<}return0;}粗心的物理学家--------------------------------------------------------------------------------TimeLimit:1sMemorylimit:32MAcceptedSubmit:834TotalSubmit:2892--------------------------------------------------------------------------------世界著名的物理学家Albert正在计算的值。不幸的是,由于这项工作十分枯燥无味,这位伟大的物理学家得到了错误的答案。由于这一错误,它制造的几颗原子弹失去了控制,射向了五座重要的城市和一片热带雨林……现在你的任务是帮助这位物理学家纠正这一错误,从而拯救世界。对于给定的n(n≤5*10^6),计算代数式的值。输入输出格式输入数据由多组数据组成。每组数据一行,仅有一个整数,表示n的值。对于每组数据,输出代数式的值(小数点后保留12位有效数字)。样例输入2样例输出1.500000000000#includeintmain(){longi,n;doubles;while(scanf("%ld",&n)!=EOF){s=1;for(i=2;i<=n;i++)s+=(double)1/i;printf("%.12f\n",s);}return0;}老师的苦恼--------------------------------------------------------------------------------TimeLimit:1sMemorylimit:32MAcceptedSubmit:738TotalSubmit:1942--------------------------------------------------------------------------------Bob写文章时喜欢将英文字母的大小写混用,例如ComputerScience经常被他写成coMpUtErscIeNce,这让他的英文老师十分苦恼,现在请你帮Bob的英文老师写一个程序能够将Bob的文章中的英文字母全部变成小写的。输入输出格式输入数据由多组数据组成。每组数据只有一行,表示Bob写的文章中的一句话,由字母、空格、数字以及各种标点组成,文字长度不超过50个字符。对于每组数据,输出仅一行,即转换成小写字母之后的结果。样例输入weLcOmEtOFZuPC2005!样例输入welcometofzupc2005!#include#includeusingnamespacestd;intmain(){chara[60];intj,len;while(gets(a)){len=strlen(a);for(j=0;j{if(a[j]>=65&&a[j]<=90)a[j]=a[j]+32;cout<}cout<}return0;}阅读顺序--------------------------------------------------------------------------------TimeLimit:1sMemorylimit:32MAcceptedSubmit:917TotalSubmit:2424--------------------------------------------------------------------------------大多数语言是从左向右读的。但是,在一些语言中,阅读顺序是从右向左读的。这给语言交流增加了不少的麻烦。现在,请你编写一个程序,能够将一从左到右书写的文字自动转成从右向左的顺序。输入输入的第一行是一个数字n(n<100),接下来的有n行的文字,由字母、空格、数字以及各种标点组成,每行文字长度不超过200个字符。输出将输入的文字转成从右向左的顺序,一行输入对应一行输出。输入样例3amanaplanacanalpanamaFrankly,Idon'tthinkwe'llmakemuchOK?输出样例amanaplanacanalpanamahcumekamll'ewknihtt'nodI,ylknarF?KO解释如果不考虑词与词之间的空格,第一句话从左向右读和从右向左读的结果是一样的:-)#includeusingnamespacestd;intmain(){intn,i,len,j;chara[200];cin>>n;getchar();for(j=0;j{gets(a);len=strlen(a);for(i=len-1;i>=0;i--)cout<cout<}return0;}做减法--------------------------------------------------------------------------------TimeLimit:1sMemorylimit:32MAcceptedSubmit:608TotalSubmit:2260--------------------------------------------------------------------------------乐乐今天刚学减法,老师布置了好多关于减法的家庭作业题。乐乐可不想把时间都浪费在这重复机械的题目上。你能帮帮她吗?输入输出格式输入数据由多组数据组成。每组数据只有一行,包含两个整数,用空格分开。对于每组数据,输出一行,包含两个整数的差。如果数字超过3位,应从最低位起,按每三位分组。题目所有输入输出保证在[-2^31,2^31-1]范围内。样例输入20001000样例输出1,000#include#includeusingnamespacestd;intmain(){inti,j;longn,m,s,k[100],t;while(cin>>n>>m){i=0;s=n-m;if(s<999)cout<else{while(s>999){k[i++]=s%1000;s=s/1000;}if(s<999)cout<for(j=i-1;j>=1;j--)if(k[j]>=0&&k[j]<=9)cout<<"00"<elseif(k[j]>=10&&k[j]<=19)cout<<"0"<elsecout<if(j==0)if(k[0]>=0&&k[0]<=9)cout<<"00"<elseif(k[0]>=10&&k[0]<=19)cout<<"0"<elsecout<}}return0;}不要62TimeLimit:1000/1000MS(Java/Others)MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):2329AcceptedSubmission(s):691ProblemDescription杭州人称那些傻乎乎粘嗒嗒的人为62(音:laoer)。杭州交通管理局经常会扩充一些的士车牌照,新近出来一个好消息,以后上牌照,不再含有不吉利的数字了,这样一来,就可以消除个别的士司机和乘客的心理障碍,更安全地服务大众。不吉利的数字为所有含有4或62的号码。例如:623157341888914都属于不吉利号码。但是,61152虽然含有6和2,但不是62连号,所以不属于不吉利数字之列。你的任务是,对于每次给出的一个牌照区间号,推断出交管局今次又要实际上给多少辆新的士车上牌照了。Input输入的都是整数对n、m(0Output对于每个整数对,输出一个不含有不吉利数字的统计个数,该数值占一行位置。SampleInput110000SampleOutput80#includeusingnamespacestd;inta[1000001];intmain(){inti,n,m;chars[20];a[0]=0;for(i=1;i<=1000000;i++){sprintf(s,"%d",i);if(!strstr(s,"4")&&!strstr(s,"62"))a[i]=a[i-1]+1;elsea[i]=a[i-1];}while(cin>>m>>n){if(!m&&!n)break;cout<}return0;}进制转换TimeLimit:2000/1000MS(Java/Others)MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):3629AcceptedSubmission(s):2020ProblemDescription输入一个十进制数N,将它转换成R进制数输出。Input输入数据包含多个测试实例,每个测试实例包含两个整数N(32位整数)和R(2<=R<=16,R<>10)。Output为每个测试实例输出转换后的数,每个输出占一行。如果R大于10,则对应的数字规则参考16进制(比如,10用A表示,等等)。SampleInput722312-43SampleOutput1111B-11#include#includeusingnamespacestd;intmain(){intn,r,a[100],i,j,m;while(cin>>m>>r){i=0;n=abs(m);while(n!=0){a[i]=n%r;n=n/r;i++;}if(m<0)cout<<"-";for(j=i-1;j>=0;j--){if(a[j]==10)cout<<"A";elseif(a[j]==11)cout<<"B";elseif(a[j]==12)cout<<"C";elseif(a[j]==13)cout<<"D";elseif(a[j]==14)cout<<"E";elseif(a[j]==15)cout<<"F";elsecout<}cout<}return0;}人见人爱A+BTimeLimit:2000/1000MS(Java/Others)MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):3960AcceptedSubmission(s):2563ProblemDescriptionHDOJ上面已经有10来道A+B的题目了,相信这些题目曾经是大家的最爱,希望今天的这个A+B能给大家带来好运,也希望这个题目能唤起大家对ACM曾经的热爱。这个题目的A和B不是简单的整数,而是两个时间,A和B都是由3个整数组成,分别表示时分秒,比如,假设A为344556,就表示A所表示的时间是34小时45分钟56秒。Input输入数据有多行组成,首先是一个整数N,表示测试实例的个数,然后是N行数据,每行有6个整数AH,AM,AS,BH,BM,BS,分别表示时间A和B所对应的时分秒。题目保证所有的数据合法。Output对于每个测试实例,输出A+B,每个输出结果也是由时分秒3部分组成,同时也要满足时间的规则(即:分和秒的取值范围在0~59),每个输出占一行,并且所有的部分都可以用32位整数表示。SampleInput2123456344556122334#include#includeusingnamespacestd;intmain(){intn,a[3],b[3],i,j,k,m,s,f,l,t;cin>>n;for(i=0;i{l=0;t=0;s=0;f=0;m=0;for(j=0;j<3;j++)cin>>a[j];for(k=0;k<3;k++)cin>>b[k];m=a[2]+b[2];if(m>60){m=m-60;t=1;}f=a[1]+b[1];if(t)f=f+1;if(f>60){l=1;f=f-60;}s=a[0]+b[0];if(l)s=s+1;cout<}return0;}算菜价TimeLimit:1000/1000MS(Java/Others)MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):2147AcceptedSubmission(s):1146ProblemDescription妈妈每天都要出去买菜,但是回来后,兜里的钱也懒得数一数,到底花了多少钱真是一笔糊涂帐。现在好了,作为好儿子(女儿)的你可以给她用程序算一下了,呵呵。Input输入含有一些数据组,每组数据包括菜种(字串),数量(计量单位不论,一律为double型数)和单价(double型数,表示人民币元数),因此,每组数据的菜价就是数量乘上单价啊。菜种、数量和单价之间都有空格隔开的。Output
cin>>a[j];
qsort(a,m+n,sizeof(int),cmp);
cout<for(k=1;k{if(a[k]==a[k-1])continue;elsecout<<""<}cout<}return0;}粗心的物理学家--------------------------------------------------------------------------------TimeLimit:1sMemorylimit:32MAcceptedSubmit:834TotalSubmit:2892--------------------------------------------------------------------------------世界著名的物理学家Albert正在计算的值。不幸的是,由于这项工作十分枯燥无味,这位伟大的物理学家得到了错误的答案。由于这一错误,它制造的几颗原子弹失去了控制,射向了五座重要的城市和一片热带雨林……现在你的任务是帮助这位物理学家纠正这一错误,从而拯救世界。对于给定的n(n≤5*10^6),计算代数式的值。输入输出格式输入数据由多组数据组成。每组数据一行,仅有一个整数,表示n的值。对于每组数据,输出代数式的值(小数点后保留12位有效数字)。样例输入2样例输出1.500000000000#includeintmain(){longi,n;doubles;while(scanf("%ld",&n)!=EOF){s=1;for(i=2;i<=n;i++)s+=(double)1/i;printf("%.12f\n",s);}return0;}老师的苦恼--------------------------------------------------------------------------------TimeLimit:1sMemorylimit:32MAcceptedSubmit:738TotalSubmit:1942--------------------------------------------------------------------------------Bob写文章时喜欢将英文字母的大小写混用,例如ComputerScience经常被他写成coMpUtErscIeNce,这让他的英文老师十分苦恼,现在请你帮Bob的英文老师写一个程序能够将Bob的文章中的英文字母全部变成小写的。输入输出格式输入数据由多组数据组成。每组数据只有一行,表示Bob写的文章中的一句话,由字母、空格、数字以及各种标点组成,文字长度不超过50个字符。对于每组数据,输出仅一行,即转换成小写字母之后的结果。样例输入weLcOmEtOFZuPC2005!样例输入welcometofzupc2005!#include#includeusingnamespacestd;intmain(){chara[60];intj,len;while(gets(a)){len=strlen(a);for(j=0;j{if(a[j]>=65&&a[j]<=90)a[j]=a[j]+32;cout<}cout<}return0;}阅读顺序--------------------------------------------------------------------------------TimeLimit:1sMemorylimit:32MAcceptedSubmit:917TotalSubmit:2424--------------------------------------------------------------------------------大多数语言是从左向右读的。但是,在一些语言中,阅读顺序是从右向左读的。这给语言交流增加了不少的麻烦。现在,请你编写一个程序,能够将一从左到右书写的文字自动转成从右向左的顺序。输入输入的第一行是一个数字n(n<100),接下来的有n行的文字,由字母、空格、数字以及各种标点组成,每行文字长度不超过200个字符。输出将输入的文字转成从右向左的顺序,一行输入对应一行输出。输入样例3amanaplanacanalpanamaFrankly,Idon'tthinkwe'llmakemuchOK?输出样例amanaplanacanalpanamahcumekamll'ewknihtt'nodI,ylknarF?KO解释如果不考虑词与词之间的空格,第一句话从左向右读和从右向左读的结果是一样的:-)#includeusingnamespacestd;intmain(){intn,i,len,j;chara[200];cin>>n;getchar();for(j=0;j{gets(a);len=strlen(a);for(i=len-1;i>=0;i--)cout<cout<}return0;}做减法--------------------------------------------------------------------------------TimeLimit:1sMemorylimit:32MAcceptedSubmit:608TotalSubmit:2260--------------------------------------------------------------------------------乐乐今天刚学减法,老师布置了好多关于减法的家庭作业题。乐乐可不想把时间都浪费在这重复机械的题目上。你能帮帮她吗?输入输出格式输入数据由多组数据组成。每组数据只有一行,包含两个整数,用空格分开。对于每组数据,输出一行,包含两个整数的差。如果数字超过3位,应从最低位起,按每三位分组。题目所有输入输出保证在[-2^31,2^31-1]范围内。样例输入20001000样例输出1,000#include#includeusingnamespacestd;intmain(){inti,j;longn,m,s,k[100],t;while(cin>>n>>m){i=0;s=n-m;if(s<999)cout<else{while(s>999){k[i++]=s%1000;s=s/1000;}if(s<999)cout<for(j=i-1;j>=1;j--)if(k[j]>=0&&k[j]<=9)cout<<"00"<elseif(k[j]>=10&&k[j]<=19)cout<<"0"<elsecout<if(j==0)if(k[0]>=0&&k[0]<=9)cout<<"00"<elseif(k[0]>=10&&k[0]<=19)cout<<"0"<elsecout<}}return0;}不要62TimeLimit:1000/1000MS(Java/Others)MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):2329AcceptedSubmission(s):691ProblemDescription杭州人称那些傻乎乎粘嗒嗒的人为62(音:laoer)。杭州交通管理局经常会扩充一些的士车牌照,新近出来一个好消息,以后上牌照,不再含有不吉利的数字了,这样一来,就可以消除个别的士司机和乘客的心理障碍,更安全地服务大众。不吉利的数字为所有含有4或62的号码。例如:623157341888914都属于不吉利号码。但是,61152虽然含有6和2,但不是62连号,所以不属于不吉利数字之列。你的任务是,对于每次给出的一个牌照区间号,推断出交管局今次又要实际上给多少辆新的士车上牌照了。Input输入的都是整数对n、m(0Output对于每个整数对,输出一个不含有不吉利数字的统计个数,该数值占一行位置。SampleInput110000SampleOutput80#includeusingnamespacestd;inta[1000001];intmain(){inti,n,m;chars[20];a[0]=0;for(i=1;i<=1000000;i++){sprintf(s,"%d",i);if(!strstr(s,"4")&&!strstr(s,"62"))a[i]=a[i-1]+1;elsea[i]=a[i-1];}while(cin>>m>>n){if(!m&&!n)break;cout<}return0;}进制转换TimeLimit:2000/1000MS(Java/Others)MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):3629AcceptedSubmission(s):2020ProblemDescription输入一个十进制数N,将它转换成R进制数输出。Input输入数据包含多个测试实例,每个测试实例包含两个整数N(32位整数)和R(2<=R<=16,R<>10)。Output为每个测试实例输出转换后的数,每个输出占一行。如果R大于10,则对应的数字规则参考16进制(比如,10用A表示,等等)。SampleInput722312-43SampleOutput1111B-11#include#includeusingnamespacestd;intmain(){intn,r,a[100],i,j,m;while(cin>>m>>r){i=0;n=abs(m);while(n!=0){a[i]=n%r;n=n/r;i++;}if(m<0)cout<<"-";for(j=i-1;j>=0;j--){if(a[j]==10)cout<<"A";elseif(a[j]==11)cout<<"B";elseif(a[j]==12)cout<<"C";elseif(a[j]==13)cout<<"D";elseif(a[j]==14)cout<<"E";elseif(a[j]==15)cout<<"F";elsecout<}cout<}return0;}人见人爱A+BTimeLimit:2000/1000MS(Java/Others)MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):3960AcceptedSubmission(s):2563ProblemDescriptionHDOJ上面已经有10来道A+B的题目了,相信这些题目曾经是大家的最爱,希望今天的这个A+B能给大家带来好运,也希望这个题目能唤起大家对ACM曾经的热爱。这个题目的A和B不是简单的整数,而是两个时间,A和B都是由3个整数组成,分别表示时分秒,比如,假设A为344556,就表示A所表示的时间是34小时45分钟56秒。Input输入数据有多行组成,首先是一个整数N,表示测试实例的个数,然后是N行数据,每行有6个整数AH,AM,AS,BH,BM,BS,分别表示时间A和B所对应的时分秒。题目保证所有的数据合法。Output对于每个测试实例,输出A+B,每个输出结果也是由时分秒3部分组成,同时也要满足时间的规则(即:分和秒的取值范围在0~59),每个输出占一行,并且所有的部分都可以用32位整数表示。SampleInput2123456344556122334#include#includeusingnamespacestd;intmain(){intn,a[3],b[3],i,j,k,m,s,f,l,t;cin>>n;for(i=0;i{l=0;t=0;s=0;f=0;m=0;for(j=0;j<3;j++)cin>>a[j];for(k=0;k<3;k++)cin>>b[k];m=a[2]+b[2];if(m>60){m=m-60;t=1;}f=a[1]+b[1];if(t)f=f+1;if(f>60){l=1;f=f-60;}s=a[0]+b[0];if(l)s=s+1;cout<}return0;}算菜价TimeLimit:1000/1000MS(Java/Others)MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):2147AcceptedSubmission(s):1146ProblemDescription妈妈每天都要出去买菜,但是回来后,兜里的钱也懒得数一数,到底花了多少钱真是一笔糊涂帐。现在好了,作为好儿子(女儿)的你可以给她用程序算一下了,呵呵。Input输入含有一些数据组,每组数据包括菜种(字串),数量(计量单位不论,一律为double型数)和单价(double型数,表示人民币元数),因此,每组数据的菜价就是数量乘上单价啊。菜种、数量和单价之间都有空格隔开的。Output
for(k=1;k{if(a[k]==a[k-1])continue;elsecout<<""<}cout<}return0;}粗心的物理学家--------------------------------------------------------------------------------TimeLimit:1sMemorylimit:32MAcceptedSubmit:834TotalSubmit:2892--------------------------------------------------------------------------------世界著名的物理学家Albert正在计算的值。不幸的是,由于这项工作十分枯燥无味,这位伟大的物理学家得到了错误的答案。由于这一错误,它制造的几颗原子弹失去了控制,射向了五座重要的城市和一片热带雨林……现在你的任务是帮助这位物理学家纠正这一错误,从而拯救世界。对于给定的n(n≤5*10^6),计算代数式的值。输入输出格式输入数据由多组数据组成。每组数据一行,仅有一个整数,表示n的值。对于每组数据,输出代数式的值(小数点后保留12位有效数字)。样例输入2样例输出1.500000000000#includeintmain(){longi,n;doubles;while(scanf("%ld",&n)!=EOF){s=1;for(i=2;i<=n;i++)s+=(double)1/i;printf("%.12f\n",s);}return0;}老师的苦恼--------------------------------------------------------------------------------TimeLimit:1sMemorylimit:32MAcceptedSubmit:738TotalSubmit:1942--------------------------------------------------------------------------------Bob写文章时喜欢将英文字母的大小写混用,例如ComputerScience经常被他写成coMpUtErscIeNce,这让他的英文老师十分苦恼,现在请你帮Bob的英文老师写一个程序能够将Bob的文章中的英文字母全部变成小写的。输入输出格式输入数据由多组数据组成。每组数据只有一行,表示Bob写的文章中的一句话,由字母、空格、数字以及各种标点组成,文字长度不超过50个字符。对于每组数据,输出仅一行,即转换成小写字母之后的结果。样例输入weLcOmEtOFZuPC2005!样例输入welcometofzupc2005!#include#includeusingnamespacestd;intmain(){chara[60];intj,len;while(gets(a)){len=strlen(a);for(j=0;j{if(a[j]>=65&&a[j]<=90)a[j]=a[j]+32;cout<}cout<}return0;}阅读顺序--------------------------------------------------------------------------------TimeLimit:1sMemorylimit:32MAcceptedSubmit:917TotalSubmit:2424--------------------------------------------------------------------------------大多数语言是从左向右读的。但是,在一些语言中,阅读顺序是从右向左读的。这给语言交流增加了不少的麻烦。现在,请你编写一个程序,能够将一从左到右书写的文字自动转成从右向左的顺序。输入输入的第一行是一个数字n(n<100),接下来的有n行的文字,由字母、空格、数字以及各种标点组成,每行文字长度不超过200个字符。输出将输入的文字转成从右向左的顺序,一行输入对应一行输出。输入样例3amanaplanacanalpanamaFrankly,Idon'tthinkwe'llmakemuchOK?输出样例amanaplanacanalpanamahcumekamll'ewknihtt'nodI,ylknarF?KO解释如果不考虑词与词之间的空格,第一句话从左向右读和从右向左读的结果是一样的:-)#includeusingnamespacestd;intmain(){intn,i,len,j;chara[200];cin>>n;getchar();for(j=0;j{gets(a);len=strlen(a);for(i=len-1;i>=0;i--)cout<cout<}return0;}做减法--------------------------------------------------------------------------------TimeLimit:1sMemorylimit:32MAcceptedSubmit:608TotalSubmit:2260--------------------------------------------------------------------------------乐乐今天刚学减法,老师布置了好多关于减法的家庭作业题。乐乐可不想把时间都浪费在这重复机械的题目上。你能帮帮她吗?输入输出格式输入数据由多组数据组成。每组数据只有一行,包含两个整数,用空格分开。对于每组数据,输出一行,包含两个整数的差。如果数字超过3位,应从最低位起,按每三位分组。题目所有输入输出保证在[-2^31,2^31-1]范围内。样例输入20001000样例输出1,000#include#includeusingnamespacestd;intmain(){inti,j;longn,m,s,k[100],t;while(cin>>n>>m){i=0;s=n-m;if(s<999)cout<else{while(s>999){k[i++]=s%1000;s=s/1000;}if(s<999)cout<for(j=i-1;j>=1;j--)if(k[j]>=0&&k[j]<=9)cout<<"00"<elseif(k[j]>=10&&k[j]<=19)cout<<"0"<elsecout<if(j==0)if(k[0]>=0&&k[0]<=9)cout<<"00"<elseif(k[0]>=10&&k[0]<=19)cout<<"0"<elsecout<}}return0;}不要62TimeLimit:1000/1000MS(Java/Others)MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):2329AcceptedSubmission(s):691ProblemDescription杭州人称那些傻乎乎粘嗒嗒的人为62(音:laoer)。杭州交通管理局经常会扩充一些的士车牌照,新近出来一个好消息,以后上牌照,不再含有不吉利的数字了,这样一来,就可以消除个别的士司机和乘客的心理障碍,更安全地服务大众。不吉利的数字为所有含有4或62的号码。例如:623157341888914都属于不吉利号码。但是,61152虽然含有6和2,但不是62连号,所以不属于不吉利数字之列。你的任务是,对于每次给出的一个牌照区间号,推断出交管局今次又要实际上给多少辆新的士车上牌照了。Input输入的都是整数对n、m(0Output对于每个整数对,输出一个不含有不吉利数字的统计个数,该数值占一行位置。SampleInput110000SampleOutput80#includeusingnamespacestd;inta[1000001];intmain(){inti,n,m;chars[20];a[0]=0;for(i=1;i<=1000000;i++){sprintf(s,"%d",i);if(!strstr(s,"4")&&!strstr(s,"62"))a[i]=a[i-1]+1;elsea[i]=a[i-1];}while(cin>>m>>n){if(!m&&!n)break;cout<}return0;}进制转换TimeLimit:2000/1000MS(Java/Others)MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):3629AcceptedSubmission(s):2020ProblemDescription输入一个十进制数N,将它转换成R进制数输出。Input输入数据包含多个测试实例,每个测试实例包含两个整数N(32位整数)和R(2<=R<=16,R<>10)。Output为每个测试实例输出转换后的数,每个输出占一行。如果R大于10,则对应的数字规则参考16进制(比如,10用A表示,等等)。SampleInput722312-43SampleOutput1111B-11#include#includeusingnamespacestd;intmain(){intn,r,a[100],i,j,m;while(cin>>m>>r){i=0;n=abs(m);while(n!=0){a[i]=n%r;n=n/r;i++;}if(m<0)cout<<"-";for(j=i-1;j>=0;j--){if(a[j]==10)cout<<"A";elseif(a[j]==11)cout<<"B";elseif(a[j]==12)cout<<"C";elseif(a[j]==13)cout<<"D";elseif(a[j]==14)cout<<"E";elseif(a[j]==15)cout<<"F";elsecout<}cout<}return0;}人见人爱A+BTimeLimit:2000/1000MS(Java/Others)MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):3960AcceptedSubmission(s):2563ProblemDescriptionHDOJ上面已经有10来道A+B的题目了,相信这些题目曾经是大家的最爱,希望今天的这个A+B能给大家带来好运,也希望这个题目能唤起大家对ACM曾经的热爱。这个题目的A和B不是简单的整数,而是两个时间,A和B都是由3个整数组成,分别表示时分秒,比如,假设A为344556,就表示A所表示的时间是34小时45分钟56秒。Input输入数据有多行组成,首先是一个整数N,表示测试实例的个数,然后是N行数据,每行有6个整数AH,AM,AS,BH,BM,BS,分别表示时间A和B所对应的时分秒。题目保证所有的数据合法。Output对于每个测试实例,输出A+B,每个输出结果也是由时分秒3部分组成,同时也要满足时间的规则(即:分和秒的取值范围在0~59),每个输出占一行,并且所有的部分都可以用32位整数表示。SampleInput2123456344556122334#include#includeusingnamespacestd;intmain(){intn,a[3],b[3],i,j,k,m,s,f,l,t;cin>>n;for(i=0;i{l=0;t=0;s=0;f=0;m=0;for(j=0;j<3;j++)cin>>a[j];for(k=0;k<3;k++)cin>>b[k];m=a[2]+b[2];if(m>60){m=m-60;t=1;}f=a[1]+b[1];if(t)f=f+1;if(f>60){l=1;f=f-60;}s=a[0]+b[0];if(l)s=s+1;cout<}return0;}算菜价TimeLimit:1000/1000MS(Java/Others)MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):2147AcceptedSubmission(s):1146ProblemDescription妈妈每天都要出去买菜,但是回来后,兜里的钱也懒得数一数,到底花了多少钱真是一笔糊涂帐。现在好了,作为好儿子(女儿)的你可以给她用程序算一下了,呵呵。Input输入含有一些数据组,每组数据包括菜种(字串),数量(计量单位不论,一律为double型数)和单价(double型数,表示人民币元数),因此,每组数据的菜价就是数量乘上单价啊。菜种、数量和单价之间都有空格隔开的。Output
if(a[k]==a[k-1])
continue;
cout<<""<}cout<}return0;}粗心的物理学家--------------------------------------------------------------------------------TimeLimit:1sMemorylimit:32MAcceptedSubmit:834TotalSubmit:2892--------------------------------------------------------------------------------世界著名的物理学家Albert正在计算的值。不幸的是,由于这项工作十分枯燥无味,这位伟大的物理学家得到了错误的答案。由于这一错误,它制造的几颗原子弹失去了控制,射向了五座重要的城市和一片热带雨林……现在你的任务是帮助这位物理学家纠正这一错误,从而拯救世界。对于给定的n(n≤5*10^6),计算代数式的值。输入输出格式输入数据由多组数据组成。每组数据一行,仅有一个整数,表示n的值。对于每组数据,输出代数式的值(小数点后保留12位有效数字)。样例输入2样例输出1.500000000000#includeintmain(){longi,n;doubles;while(scanf("%ld",&n)!=EOF){s=1;for(i=2;i<=n;i++)s+=(double)1/i;printf("%.12f\n",s);}return0;}老师的苦恼--------------------------------------------------------------------------------TimeLimit:1sMemorylimit:32MAcceptedSubmit:738TotalSubmit:1942--------------------------------------------------------------------------------Bob写文章时喜欢将英文字母的大小写混用,例如ComputerScience经常被他写成coMpUtErscIeNce,这让他的英文老师十分苦恼,现在请你帮Bob的英文老师写一个程序能够将Bob的文章中的英文字母全部变成小写的。输入输出格式输入数据由多组数据组成。每组数据只有一行,表示Bob写的文章中的一句话,由字母、空格、数字以及各种标点组成,文字长度不超过50个字符。对于每组数据,输出仅一行,即转换成小写字母之后的结果。样例输入weLcOmEtOFZuPC2005!样例输入welcometofzupc2005!#include#includeusingnamespacestd;intmain(){chara[60];intj,len;while(gets(a)){len=strlen(a);for(j=0;j{if(a[j]>=65&&a[j]<=90)a[j]=a[j]+32;cout<}cout<}return0;}阅读顺序--------------------------------------------------------------------------------TimeLimit:1sMemorylimit:32MAcceptedSubmit:917TotalSubmit:2424--------------------------------------------------------------------------------大多数语言是从左向右读的。但是,在一些语言中,阅读顺序是从右向左读的。这给语言交流增加了不少的麻烦。现在,请你编写一个程序,能够将一从左到右书写的文字自动转成从右向左的顺序。输入输入的第一行是一个数字n(n<100),接下来的有n行的文字,由字母、空格、数字以及各种标点组成,每行文字长度不超过200个字符。输出将输入的文字转成从右向左的顺序,一行输入对应一行输出。输入样例3amanaplanacanalpanamaFrankly,Idon'tthinkwe'llmakemuchOK?输出样例amanaplanacanalpanamahcumekamll'ewknihtt'nodI,ylknarF?KO解释如果不考虑词与词之间的空格,第一句话从左向右读和从右向左读的结果是一样的:-)#includeusingnamespacestd;intmain(){intn,i,len,j;chara[200];cin>>n;getchar();for(j=0;j{gets(a);len=strlen(a);for(i=len-1;i>=0;i--)cout<cout<}return0;}做减法--------------------------------------------------------------------------------TimeLimit:1sMemorylimit:32MAcceptedSubmit:608TotalSubmit:2260--------------------------------------------------------------------------------乐乐今天刚学减法,老师布置了好多关于减法的家庭作业题。乐乐可不想把时间都浪费在这重复机械的题目上。你能帮帮她吗?输入输出格式输入数据由多组数据组成。每组数据只有一行,包含两个整数,用空格分开。对于每组数据,输出一行,包含两个整数的差。如果数字超过3位,应从最低位起,按每三位分组。题目所有输入输出保证在[-2^31,2^31-1]范围内。样例输入20001000样例输出1,000#include#includeusingnamespacestd;intmain(){inti,j;longn,m,s,k[100],t;while(cin>>n>>m){i=0;s=n-m;if(s<999)cout<else{while(s>999){k[i++]=s%1000;s=s/1000;}if(s<999)cout<for(j=i-1;j>=1;j--)if(k[j]>=0&&k[j]<=9)cout<<"00"<elseif(k[j]>=10&&k[j]<=19)cout<<"0"<elsecout<if(j==0)if(k[0]>=0&&k[0]<=9)cout<<"00"<elseif(k[0]>=10&&k[0]<=19)cout<<"0"<elsecout<}}return0;}不要62TimeLimit:1000/1000MS(Java/Others)MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):2329AcceptedSubmission(s):691ProblemDescription杭州人称那些傻乎乎粘嗒嗒的人为62(音:laoer)。杭州交通管理局经常会扩充一些的士车牌照,新近出来一个好消息,以后上牌照,不再含有不吉利的数字了,这样一来,就可以消除个别的士司机和乘客的心理障碍,更安全地服务大众。不吉利的数字为所有含有4或62的号码。例如:623157341888914都属于不吉利号码。但是,61152虽然含有6和2,但不是62连号,所以不属于不吉利数字之列。你的任务是,对于每次给出的一个牌照区间号,推断出交管局今次又要实际上给多少辆新的士车上牌照了。Input输入的都是整数对n、m(0Output对于每个整数对,输出一个不含有不吉利数字的统计个数,该数值占一行位置。SampleInput110000SampleOutput80#includeusingnamespacestd;inta[1000001];intmain(){inti,n,m;chars[20];a[0]=0;for(i=1;i<=1000000;i++){sprintf(s,"%d",i);if(!strstr(s,"4")&&!strstr(s,"62"))a[i]=a[i-1]+1;elsea[i]=a[i-1];}while(cin>>m>>n){if(!m&&!n)break;cout<}return0;}进制转换TimeLimit:2000/1000MS(Java/Others)MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):3629AcceptedSubmission(s):2020ProblemDescription输入一个十进制数N,将它转换成R进制数输出。Input输入数据包含多个测试实例,每个测试实例包含两个整数N(32位整数)和R(2<=R<=16,R<>10)。Output为每个测试实例输出转换后的数,每个输出占一行。如果R大于10,则对应的数字规则参考16进制(比如,10用A表示,等等)。SampleInput722312-43SampleOutput1111B-11#include#includeusingnamespacestd;intmain(){intn,r,a[100],i,j,m;while(cin>>m>>r){i=0;n=abs(m);while(n!=0){a[i]=n%r;n=n/r;i++;}if(m<0)cout<<"-";for(j=i-1;j>=0;j--){if(a[j]==10)cout<<"A";elseif(a[j]==11)cout<<"B";elseif(a[j]==12)cout<<"C";elseif(a[j]==13)cout<<"D";elseif(a[j]==14)cout<<"E";elseif(a[j]==15)cout<<"F";elsecout<}cout<}return0;}人见人爱A+BTimeLimit:2000/1000MS(Java/Others)MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):3960AcceptedSubmission(s):2563ProblemDescriptionHDOJ上面已经有10来道A+B的题目了,相信这些题目曾经是大家的最爱,希望今天的这个A+B能给大家带来好运,也希望这个题目能唤起大家对ACM曾经的热爱。这个题目的A和B不是简单的整数,而是两个时间,A和B都是由3个整数组成,分别表示时分秒,比如,假设A为344556,就表示A所表示的时间是34小时45分钟56秒。Input输入数据有多行组成,首先是一个整数N,表示测试实例的个数,然后是N行数据,每行有6个整数AH,AM,AS,BH,BM,BS,分别表示时间A和B所对应的时分秒。题目保证所有的数据合法。Output对于每个测试实例,输出A+B,每个输出结果也是由时分秒3部分组成,同时也要满足时间的规则(即:分和秒的取值范围在0~59),每个输出占一行,并且所有的部分都可以用32位整数表示。SampleInput2123456344556122334#include#includeusingnamespacestd;intmain(){intn,a[3],b[3],i,j,k,m,s,f,l,t;cin>>n;for(i=0;i{l=0;t=0;s=0;f=0;m=0;for(j=0;j<3;j++)cin>>a[j];for(k=0;k<3;k++)cin>>b[k];m=a[2]+b[2];if(m>60){m=m-60;t=1;}f=a[1]+b[1];if(t)f=f+1;if(f>60){l=1;f=f-60;}s=a[0]+b[0];if(l)s=s+1;cout<}return0;}算菜价TimeLimit:1000/1000MS(Java/Others)MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):2147AcceptedSubmission(s):1146ProblemDescription妈妈每天都要出去买菜,但是回来后,兜里的钱也懒得数一数,到底花了多少钱真是一笔糊涂帐。现在好了,作为好儿子(女儿)的你可以给她用程序算一下了,呵呵。Input输入含有一些数据组,每组数据包括菜种(字串),数量(计量单位不论,一律为double型数)和单价(double型数,表示人民币元数),因此,每组数据的菜价就是数量乘上单价啊。菜种、数量和单价之间都有空格隔开的。Output
cout<}return0;}粗心的物理学家--------------------------------------------------------------------------------TimeLimit:1sMemorylimit:32MAcceptedSubmit:834TotalSubmit:2892--------------------------------------------------------------------------------世界著名的物理学家Albert正在计算的值。不幸的是,由于这项工作十分枯燥无味,这位伟大的物理学家得到了错误的答案。由于这一错误,它制造的几颗原子弹失去了控制,射向了五座重要的城市和一片热带雨林……现在你的任务是帮助这位物理学家纠正这一错误,从而拯救世界。对于给定的n(n≤5*10^6),计算代数式的值。输入输出格式输入数据由多组数据组成。每组数据一行,仅有一个整数,表示n的值。对于每组数据,输出代数式的值(小数点后保留12位有效数字)。样例输入2样例输出1.500000000000#includeintmain(){longi,n;doubles;while(scanf("%ld",&n)!=EOF){s=1;for(i=2;i<=n;i++)s+=(double)1/i;printf("%.12f\n",s);}return0;}老师的苦恼--------------------------------------------------------------------------------TimeLimit:1sMemorylimit:32MAcceptedSubmit:738TotalSubmit:1942--------------------------------------------------------------------------------Bob写文章时喜欢将英文字母的大小写混用,例如ComputerScience经常被他写成coMpUtErscIeNce,这让他的英文老师十分苦恼,现在请你帮Bob的英文老师写一个程序能够将Bob的文章中的英文字母全部变成小写的。输入输出格式输入数据由多组数据组成。每组数据只有一行,表示Bob写的文章中的一句话,由字母、空格、数字以及各种标点组成,文字长度不超过50个字符。对于每组数据,输出仅一行,即转换成小写字母之后的结果。样例输入weLcOmEtOFZuPC2005!样例输入welcometofzupc2005!#include#includeusingnamespacestd;intmain(){chara[60];intj,len;while(gets(a)){len=strlen(a);for(j=0;j{if(a[j]>=65&&a[j]<=90)a[j]=a[j]+32;cout<}cout<}return0;}阅读顺序--------------------------------------------------------------------------------TimeLimit:1sMemorylimit:32MAcceptedSubmit:917TotalSubmit:2424--------------------------------------------------------------------------------大多数语言是从左向右读的。但是,在一些语言中,阅读顺序是从右向左读的。这给语言交流增加了不少的麻烦。现在,请你编写一个程序,能够将一从左到右书写的文字自动转成从右向左的顺序。输入输入的第一行是一个数字n(n<100),接下来的有n行的文字,由字母、空格、数字以及各种标点组成,每行文字长度不超过200个字符。输出将输入的文字转成从右向左的顺序,一行输入对应一行输出。输入样例3amanaplanacanalpanamaFrankly,Idon'tthinkwe'llmakemuchOK?输出样例amanaplanacanalpanamahcumekamll'ewknihtt'nodI,ylknarF?KO解释如果不考虑词与词之间的空格,第一句话从左向右读和从右向左读的结果是一样的:-)#includeusingnamespacestd;intmain(){intn,i,len,j;chara[200];cin>>n;getchar();for(j=0;j{gets(a);len=strlen(a);for(i=len-1;i>=0;i--)cout<cout<}return0;}做减法--------------------------------------------------------------------------------TimeLimit:1sMemorylimit:32MAcceptedSubmit:608TotalSubmit:2260--------------------------------------------------------------------------------乐乐今天刚学减法,老师布置了好多关于减法的家庭作业题。乐乐可不想把时间都浪费在这重复机械的题目上。你能帮帮她吗?输入输出格式输入数据由多组数据组成。每组数据只有一行,包含两个整数,用空格分开。对于每组数据,输出一行,包含两个整数的差。如果数字超过3位,应从最低位起,按每三位分组。题目所有输入输出保证在[-2^31,2^31-1]范围内。样例输入20001000样例输出1,000#include#includeusingnamespacestd;intmain(){inti,j;longn,m,s,k[100],t;while(cin>>n>>m){i=0;s=n-m;if(s<999)cout<else{while(s>999){k[i++]=s%1000;s=s/1000;}if(s<999)cout<for(j=i-1;j>=1;j--)if(k[j]>=0&&k[j]<=9)cout<<"00"<elseif(k[j]>=10&&k[j]<=19)cout<<"0"<elsecout<if(j==0)if(k[0]>=0&&k[0]<=9)cout<<"00"<elseif(k[0]>=10&&k[0]<=19)cout<<"0"<elsecout<}}return0;}不要62TimeLimit:1000/1000MS(Java/Others)MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):2329AcceptedSubmission(s):691ProblemDescription杭州人称那些傻乎乎粘嗒嗒的人为62(音:laoer)。杭州交通管理局经常会扩充一些的士车牌照,新近出来一个好消息,以后上牌照,不再含有不吉利的数字了,这样一来,就可以消除个别的士司机和乘客的心理障碍,更安全地服务大众。不吉利的数字为所有含有4或62的号码。例如:623157341888914都属于不吉利号码。但是,61152虽然含有6和2,但不是62连号,所以不属于不吉利数字之列。你的任务是,对于每次给出的一个牌照区间号,推断出交管局今次又要实际上给多少辆新的士车上牌照了。Input输入的都是整数对n、m(0Output对于每个整数对,输出一个不含有不吉利数字的统计个数,该数值占一行位置。SampleInput110000SampleOutput80#includeusingnamespacestd;inta[1000001];intmain(){inti,n,m;chars[20];a[0]=0;for(i=1;i<=1000000;i++){sprintf(s,"%d",i);if(!strstr(s,"4")&&!strstr(s,"62"))a[i]=a[i-1]+1;elsea[i]=a[i-1];}while(cin>>m>>n){if(!m&&!n)break;cout<}return0;}进制转换TimeLimit:2000/1000MS(Java/Others)MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):3629AcceptedSubmission(s):2020ProblemDescription输入一个十进制数N,将它转换成R进制数输出。Input输入数据包含多个测试实例,每个测试实例包含两个整数N(32位整数)和R(2<=R<=16,R<>10)。Output为每个测试实例输出转换后的数,每个输出占一行。如果R大于10,则对应的数字规则参考16进制(比如,10用A表示,等等)。SampleInput722312-43SampleOutput1111B-11#include#includeusingnamespacestd;intmain(){intn,r,a[100],i,j,m;while(cin>>m>>r){i=0;n=abs(m);while(n!=0){a[i]=n%r;n=n/r;i++;}if(m<0)cout<<"-";for(j=i-1;j>=0;j--){if(a[j]==10)cout<<"A";elseif(a[j]==11)cout<<"B";elseif(a[j]==12)cout<<"C";elseif(a[j]==13)cout<<"D";elseif(a[j]==14)cout<<"E";elseif(a[j]==15)cout<<"F";elsecout<}cout<}return0;}人见人爱A+BTimeLimit:2000/1000MS(Java/Others)MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):3960AcceptedSubmission(s):2563ProblemDescriptionHDOJ上面已经有10来道A+B的题目了,相信这些题目曾经是大家的最爱,希望今天的这个A+B能给大家带来好运,也希望这个题目能唤起大家对ACM曾经的热爱。这个题目的A和B不是简单的整数,而是两个时间,A和B都是由3个整数组成,分别表示时分秒,比如,假设A为344556,就表示A所表示的时间是34小时45分钟56秒。Input输入数据有多行组成,首先是一个整数N,表示测试实例的个数,然后是N行数据,每行有6个整数AH,AM,AS,BH,BM,BS,分别表示时间A和B所对应的时分秒。题目保证所有的数据合法。Output对于每个测试实例,输出A+B,每个输出结果也是由时分秒3部分组成,同时也要满足时间的规则(即:分和秒的取值范围在0~59),每个输出占一行,并且所有的部分都可以用32位整数表示。SampleInput2123456344556122334#include#includeusingnamespacestd;intmain(){intn,a[3],b[3],i,j,k,m,s,f,l,t;cin>>n;for(i=0;i{l=0;t=0;s=0;f=0;m=0;for(j=0;j<3;j++)cin>>a[j];for(k=0;k<3;k++)cin>>b[k];m=a[2]+b[2];if(m>60){m=m-60;t=1;}f=a[1]+b[1];if(t)f=f+1;if(f>60){l=1;f=f-60;}s=a[0]+b[0];if(l)s=s+1;cout<}return0;}算菜价TimeLimit:1000/1000MS(Java/Others)MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):2147AcceptedSubmission(s):1146ProblemDescription妈妈每天都要出去买菜,但是回来后,兜里的钱也懒得数一数,到底花了多少钱真是一笔糊涂帐。现在好了,作为好儿子(女儿)的你可以给她用程序算一下了,呵呵。Input输入含有一些数据组,每组数据包括菜种(字串),数量(计量单位不论,一律为double型数)和单价(double型数,表示人民币元数),因此,每组数据的菜价就是数量乘上单价啊。菜种、数量和单价之间都有空格隔开的。Output
粗心的物理学家
--------------------------------------------------------------------------------
1sMemorylimit:
32M
AcceptedSubmit:
834TotalSubmit:
2892
世界著名的物理学家Albert正在计算的值。
不幸的是,由于这项工作十分枯燥无味,这位伟大的物理学家得到了错误的答案。
由于这一错误,它制造的几颗原子弹失去了控制,射向了五座重要的城市和一片热带雨林……
现在你的任务是帮助这位物理学家纠正这一错误,从而拯救世界。
对于给定的n(n≤5*10^6),计算代数式的值。
输入输出格式
输入数据由多组数据组成。
每组数据一行,仅有一个整数,表示n的值。
对于每组数据,输出代数式的值(小数点后保留12位有效数字)。
样例输入
样例输出
1.500000000000
longi,n;
doubles;
while(scanf("%ld",&n)!
for(i=2;i<=n;i++)
s+=(double)1/i;
printf("%.12f\n",s);
老师的苦恼
738TotalSubmit:
1942
Bob写文章时喜欢将英文字母的大小写混用,例如ComputerScience经常被他写成coMpUtErscIeNce,这让他的英文老师十分苦恼,现在请你帮Bob的英文老师写一个程序能够将Bob的文章中的英文字母全部变成小写的。
每组数据只有一行,表示Bob写的文章中的一句话,由字母、空格、数字以及各种标点组成,文字长度不超过50个字符。
对于每组数据,输出仅一行,即转换成小写字母之后的结果。
weLcOmEtOFZuPC2005!
welcometofzupc2005!
chara[60];
intj,len;
while(gets(a))
len=strlen(a);
for(j=0;j{if(a[j]>=65&&a[j]<=90)a[j]=a[j]+32;cout<}cout<}return0;}阅读顺序--------------------------------------------------------------------------------TimeLimit:1sMemorylimit:32MAcceptedSubmit:917TotalSubmit:2424--------------------------------------------------------------------------------大多数语言是从左向右读的。但是,在一些语言中,阅读顺序是从右向左读的。这给语言交流增加了不少的麻烦。现在,请你编写一个程序,能够将一从左到右书写的文字自动转成从右向左的顺序。输入输入的第一行是一个数字n(n<100),接下来的有n行的文字,由字母、空格、数字以及各种标点组成,每行文字长度不超过200个字符。输出将输入的文字转成从右向左的顺序,一行输入对应一行输出。输入样例3amanaplanacanalpanamaFrankly,Idon'tthinkwe'llmakemuchOK?输出样例amanaplanacanalpanamahcumekamll'ewknihtt'nodI,ylknarF?KO解释如果不考虑词与词之间的空格,第一句话从左向右读和从右向左读的结果是一样的:-)#includeusingnamespacestd;intmain(){intn,i,len,j;chara[200];cin>>n;getchar();for(j=0;j{gets(a);len=strlen(a);for(i=len-1;i>=0;i--)cout<cout<}return0;}做减法--------------------------------------------------------------------------------TimeLimit:1sMemorylimit:32MAcceptedSubmit:608TotalSubmit:2260--------------------------------------------------------------------------------乐乐今天刚学减法,老师布置了好多关于减法的家庭作业题。乐乐可不想把时间都浪费在这重复机械的题目上。你能帮帮她吗?输入输出格式输入数据由多组数据组成。每组数据只有一行,包含两个整数,用空格分开。对于每组数据,输出一行,包含两个整数的差。如果数字超过3位,应从最低位起,按每三位分组。题目所有输入输出保证在[-2^31,2^31-1]范围内。样例输入20001000样例输出1,000#include#includeusingnamespacestd;intmain(){inti,j;longn,m,s,k[100],t;while(cin>>n>>m){i=0;s=n-m;if(s<999)cout<else{while(s>999){k[i++]=s%1000;s=s/1000;}if(s<999)cout<for(j=i-1;j>=1;j--)if(k[j]>=0&&k[j]<=9)cout<<"00"<elseif(k[j]>=10&&k[j]<=19)cout<<"0"<elsecout<if(j==0)if(k[0]>=0&&k[0]<=9)cout<<"00"<elseif(k[0]>=10&&k[0]<=19)cout<<"0"<elsecout<}}return0;}不要62TimeLimit:1000/1000MS(Java/Others)MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):2329AcceptedSubmission(s):691ProblemDescription杭州人称那些傻乎乎粘嗒嗒的人为62(音:laoer)。杭州交通管理局经常会扩充一些的士车牌照,新近出来一个好消息,以后上牌照,不再含有不吉利的数字了,这样一来,就可以消除个别的士司机和乘客的心理障碍,更安全地服务大众。不吉利的数字为所有含有4或62的号码。例如:623157341888914都属于不吉利号码。但是,61152虽然含有6和2,但不是62连号,所以不属于不吉利数字之列。你的任务是,对于每次给出的一个牌照区间号,推断出交管局今次又要实际上给多少辆新的士车上牌照了。Input输入的都是整数对n、m(0Output对于每个整数对,输出一个不含有不吉利数字的统计个数,该数值占一行位置。SampleInput110000SampleOutput80#includeusingnamespacestd;inta[1000001];intmain(){inti,n,m;chars[20];a[0]=0;for(i=1;i<=1000000;i++){sprintf(s,"%d",i);if(!strstr(s,"4")&&!strstr(s,"62"))a[i]=a[i-1]+1;elsea[i]=a[i-1];}while(cin>>m>>n){if(!m&&!n)break;cout<}return0;}进制转换TimeLimit:2000/1000MS(Java/Others)MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):3629AcceptedSubmission(s):2020ProblemDescription输入一个十进制数N,将它转换成R进制数输出。Input输入数据包含多个测试实例,每个测试实例包含两个整数N(32位整数)和R(2<=R<=16,R<>10)。Output为每个测试实例输出转换后的数,每个输出占一行。如果R大于10,则对应的数字规则参考16进制(比如,10用A表示,等等)。SampleInput722312-43SampleOutput1111B-11#include#includeusingnamespacestd;intmain(){intn,r,a[100],i,j,m;while(cin>>m>>r){i=0;n=abs(m);while(n!=0){a[i]=n%r;n=n/r;i++;}if(m<0)cout<<"-";for(j=i-1;j>=0;j--){if(a[j]==10)cout<<"A";elseif(a[j]==11)cout<<"B";elseif(a[j]==12)cout<<"C";elseif(a[j]==13)cout<<"D";elseif(a[j]==14)cout<<"E";elseif(a[j]==15)cout<<"F";elsecout<}cout<}return0;}人见人爱A+BTimeLimit:2000/1000MS(Java/Others)MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):3960AcceptedSubmission(s):2563ProblemDescriptionHDOJ上面已经有10来道A+B的题目了,相信这些题目曾经是大家的最爱,希望今天的这个A+B能给大家带来好运,也希望这个题目能唤起大家对ACM曾经的热爱。这个题目的A和B不是简单的整数,而是两个时间,A和B都是由3个整数组成,分别表示时分秒,比如,假设A为344556,就表示A所表示的时间是34小时45分钟56秒。Input输入数据有多行组成,首先是一个整数N,表示测试实例的个数,然后是N行数据,每行有6个整数AH,AM,AS,BH,BM,BS,分别表示时间A和B所对应的时分秒。题目保证所有的数据合法。Output对于每个测试实例,输出A+B,每个输出结果也是由时分秒3部分组成,同时也要满足时间的规则(即:分和秒的取值范围在0~59),每个输出占一行,并且所有的部分都可以用32位整数表示。SampleInput2123456344556122334#include#includeusingnamespacestd;intmain(){intn,a[3],b[3],i,j,k,m,s,f,l,t;cin>>n;for(i=0;i{l=0;t=0;s=0;f=0;m=0;for(j=0;j<3;j++)cin>>a[j];for(k=0;k<3;k++)cin>>b[k];m=a[2]+b[2];if(m>60){m=m-60;t=1;}f=a[1]+b[1];if(t)f=f+1;if(f>60){l=1;f=f-60;}s=a[0]+b[0];if(l)s=s+1;cout<}return0;}算菜价TimeLimit:1000/1000MS(Java/Others)MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):2147AcceptedSubmission(s):1146ProblemDescription妈妈每天都要出去买菜,但是回来后,兜里的钱也懒得数一数,到底花了多少钱真是一笔糊涂帐。现在好了,作为好儿子(女儿)的你可以给她用程序算一下了,呵呵。Input输入含有一些数据组,每组数据包括菜种(字串),数量(计量单位不论,一律为double型数)和单价(double型数,表示人民币元数),因此,每组数据的菜价就是数量乘上单价啊。菜种、数量和单价之间都有空格隔开的。Output
if(a[j]>=65&&a[j]<=90)
a[j]=a[j]+32;
cout<}cout<}return0;}阅读顺序--------------------------------------------------------------------------------TimeLimit:1sMemorylimit:32MAcceptedSubmit:917TotalSubmit:2424--------------------------------------------------------------------------------大多数语言是从左向右读的。但是,在一些语言中,阅读顺序是从右向左读的。这给语言交流增加了不少的麻烦。现在,请你编写一个程序,能够将一从左到右书写的文字自动转成从右向左的顺序。输入输入的第一行是一个数字n(n<100),接下来的有n行的文字,由字母、空格、数字以及各种标点组成,每行文字长度不超过200个字符。输出将输入的文字转成从右向左的顺序,一行输入对应一行输出。输入样例3amanaplanacanalpanamaFrankly,Idon'tthinkwe'llmakemuchOK?输出样例amanaplanacanalpanamahcumekamll'ewknihtt'nodI,ylknarF?KO解释如果不考虑词与词之间的空格,第一句话从左向右读和从右向左读的结果是一样的:-)#includeusingnamespacestd;intmain(){intn,i,len,j;chara[200];cin>>n;getchar();for(j=0;j{gets(a);len=strlen(a);for(i=len-1;i>=0;i--)cout<cout<}return0;}做减法--------------------------------------------------------------------------------TimeLimit:1sMemorylimit:32MAcceptedSubmit:608TotalSubmit:2260--------------------------------------------------------------------------------乐乐今天刚学减法,老师布置了好多关于减法的家庭作业题。乐乐可不想把时间都浪费在这重复机械的题目上。你能帮帮她吗?输入输出格式输入数据由多组数据组成。每组数据只有一行,包含两个整数,用空格分开。对于每组数据,输出一行,包含两个整数的差。如果数字超过3位,应从最低位起,按每三位分组。题目所有输入输出保证在[-2^31,2^31-1]范围内。样例输入20001000样例输出1,000#include#includeusingnamespacestd;intmain(){inti,j;longn,m,s,k[100],t;while(cin>>n>>m){i=0;s=n-m;if(s<999)cout<else{while(s>999){k[i++]=s%1000;s=s/1000;}if(s<999)cout<for(j=i-1;j>=1;j--)if(k[j]>=0&&k[j]<=9)cout<<"00"<elseif(k[j]>=10&&k[j]<=19)cout<<"0"<elsecout<if(j==0)if(k[0]>=0&&k[0]<=9)cout<<"00"<elseif(k[0]>=10&&k[0]<=19)cout<<"0"<elsecout<}}return0;}不要62TimeLimit:1000/1000MS(Java/Others)MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):2329AcceptedSubmission(s):691ProblemDescription杭州人称那些傻乎乎粘嗒嗒的人为62(音:laoer)。杭州交通管理局经常会扩充一些的士车牌照,新近出来一个好消息,以后上牌照,不再含有不吉利的数字了,这样一来,就可以消除个别的士司机和乘客的心理障碍,更安全地服务大众。不吉利的数字为所有含有4或62的号码。例如:623157341888914都属于不吉利号码。但是,61152虽然含有6和2,但不是62连号,所以不属于不吉利数字之列。你的任务是,对于每次给出的一个牌照区间号,推断出交管局今次又要实际上给多少辆新的士车上牌照了。Input输入的都是整数对n、m(0Output对于每个整数对,输出一个不含有不吉利数字的统计个数,该数值占一行位置。SampleInput110000SampleOutput80#includeusingnamespacestd;inta[1000001];intmain(){inti,n,m;chars[20];a[0]=0;for(i=1;i<=1000000;i++){sprintf(s,"%d",i);if(!strstr(s,"4")&&!strstr(s,"62"))a[i]=a[i-1]+1;elsea[i]=a[i-1];}while(cin>>m>>n){if(!m&&!n)break;cout<}return0;}进制转换TimeLimit:2000/1000MS(Java/Others)MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):3629AcceptedSubmission(s):2020ProblemDescription输入一个十进制数N,将它转换成R进制数输出。Input输入数据包含多个测试实例,每个测试实例包含两个整数N(32位整数)和R(2<=R<=16,R<>10)。Output为每个测试实例输出转换后的数,每个输出占一行。如果R大于10,则对应的数字规则参考16进制(比如,10用A表示,等等)。SampleInput722312-43SampleOutput1111B-11#include#includeusingnamespacestd;intmain(){intn,r,a[100],i,j,m;while(cin>>m>>r){i=0;n=abs(m);while(n!=0){a[i]=n%r;n=n/r;i++;}if(m<0)cout<<"-";for(j=i-1;j>=0;j--){if(a[j]==10)cout<<"A";elseif(a[j]==11)cout<<"B";elseif(a[j]==12)cout<<"C";elseif(a[j]==13)cout<<"D";elseif(a[j]==14)cout<<"E";elseif(a[j]==15)cout<<"F";elsecout<}cout<}return0;}人见人爱A+BTimeLimit:2000/1000MS(Java/Others)MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):3960AcceptedSubmission(s):2563ProblemDescriptionHDOJ上面已经有10来道A+B的题目了,相信这些题目曾经是大家的最爱,希望今天的这个A+B能给大家带来好运,也希望这个题目能唤起大家对ACM曾经的热爱。这个题目的A和B不是简单的整数,而是两个时间,A和B都是由3个整数组成,分别表示时分秒,比如,假设A为344556,就表示A所表示的时间是34小时45分钟56秒。Input输入数据有多行组成,首先是一个整数N,表示测试实例的个数,然后是N行数据,每行有6个整数AH,AM,AS,BH,BM,BS,分别表示时间A和B所对应的时分秒。题目保证所有的数据合法。Output对于每个测试实例,输出A+B,每个输出结果也是由时分秒3部分组成,同时也要满足时间的规则(即:分和秒的取值范围在0~59),每个输出占一行,并且所有的部分都可以用32位整数表示。SampleInput2123456344556122334#include#includeusingnamespacestd;intmain(){intn,a[3],b[3],i,j,k,m,s,f,l,t;cin>>n;for(i=0;i{l=0;t=0;s=0;f=0;m=0;for(j=0;j<3;j++)cin>>a[j];for(k=0;k<3;k++)cin>>b[k];m=a[2]+b[2];if(m>60){m=m-60;t=1;}f=a[1]+b[1];if(t)f=f+1;if(f>60){l=1;f=f-60;}s=a[0]+b[0];if(l)s=s+1;cout<}return0;}算菜价TimeLimit:1000/1000MS(Java/Others)MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):2147AcceptedSubmission(s):1146ProblemDescription妈妈每天都要出去买菜,但是回来后,兜里的钱也懒得数一数,到底花了多少钱真是一笔糊涂帐。现在好了,作为好儿子(女儿)的你可以给她用程序算一下了,呵呵。Input输入含有一些数据组,每组数据包括菜种(字串),数量(计量单位不论,一律为double型数)和单价(double型数,表示人民币元数),因此,每组数据的菜价就是数量乘上单价啊。菜种、数量和单价之间都有空格隔开的。Output
cout<}return0;}阅读顺序--------------------------------------------------------------------------------TimeLimit:1sMemorylimit:32MAcceptedSubmit:917TotalSubmit:2424--------------------------------------------------------------------------------大多数语言是从左向右读的。但是,在一些语言中,阅读顺序是从右向左读的。这给语言交流增加了不少的麻烦。现在,请你编写一个程序,能够将一从左到右书写的文字自动转成从右向左的顺序。输入输入的第一行是一个数字n(n<100),接下来的有n行的文字,由字母、空格、数字以及各种标点组成,每行文字长度不超过200个字符。输出将输入的文字转成从右向左的顺序,一行输入对应一行输出。输入样例3amanaplanacanalpanamaFrankly,Idon'tthinkwe'llmakemuchOK?输出样例amanaplanacanalpanamahcumekamll'ewknihtt'nodI,ylknarF?KO解释如果不考虑词与词之间的空格,第一句话从左向右读和从右向左读的结果是一样的:-)#includeusingnamespacestd;intmain(){intn,i,len,j;chara[200];cin>>n;getchar();for(j=0;j{gets(a);len=strlen(a);for(i=len-1;i>=0;i--)cout<cout<}return0;}做减法--------------------------------------------------------------------------------TimeLimit:1sMemorylimit:32MAcceptedSubmit:608TotalSubmit:2260--------------------------------------------------------------------------------乐乐今天刚学减法,老师布置了好多关于减法的家庭作业题。乐乐可不想把时间都浪费在这重复机械的题目上。你能帮帮她吗?输入输出格式输入数据由多组数据组成。每组数据只有一行,包含两个整数,用空格分开。对于每组数据,输出一行,包含两个整数的差。如果数字超过3位,应从最低位起,按每三位分组。题目所有输入输出保证在[-2^31,2^31-1]范围内。样例输入20001000样例输出1,000#include#includeusingnamespacestd;intmain(){inti,j;longn,m,s,k[100],t;while(cin>>n>>m){i=0;s=n-m;if(s<999)cout<else{while(s>999){k[i++]=s%1000;s=s/1000;}if(s<999)cout<for(j=i-1;j>=1;j--)if(k[j]>=0&&k[j]<=9)cout<<"00"<elseif(k[j]>=10&&k[j]<=19)cout<<"0"<elsecout<if(j==0)if(k[0]>=0&&k[0]<=9)cout<<"00"<elseif(k[0]>=10&&k[0]<=19)cout<<"0"<elsecout<}}return0;}不要62TimeLimit:1000/1000MS(Java/Others)MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):2329AcceptedSubmission(s):691ProblemDescription杭州人称那些傻乎乎粘嗒嗒的人为62(音:laoer)。杭州交通管理局经常会扩充一些的士车牌照,新近出来一个好消息,以后上牌照,不再含有不吉利的数字了,这样一来,就可以消除个别的士司机和乘客的心理障碍,更安全地服务大众。不吉利的数字为所有含有4或62的号码。例如:623157341888914都属于不吉利号码。但是,61152虽然含有6和2,但不是62连号,所以不属于不吉利数字之列。你的任务是,对于每次给出的一个牌照区间号,推断出交管局今次又要实际上给多少辆新的士车上牌照了。Input输入的都是整数对n、m(0Output对于每个整数对,输出一个不含有不吉利数字的统计个数,该数值占一行位置。SampleInput110000SampleOutput80#includeusingnamespacestd;inta[1000001];intmain(){inti,n,m;chars[20];a[0]=0;for(i=1;i<=1000000;i++){sprintf(s,"%d",i);if(!strstr(s,"4")&&!strstr(s,"62"))a[i]=a[i-1]+1;elsea[i]=a[i-1];}while(cin>>m>>n){if(!m&&!n)break;cout<}return0;}进制转换TimeLimit:2000/1000MS(Java/Others)MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):3629AcceptedSubmission(s):2020ProblemDescription输入一个十进制数N,将它转换成R进制数输出。Input输入数据包含多个测试实例,每个测试实例包含两个整数N(32位整数)和R(2<=R<=16,R<>10)。Output为每个测试实例输出转换后的数,每个输出占一行。如果R大于10,则对应的数字规则参考16进制(比如,10用A表示,等等)。SampleInput722312-43SampleOutput1111B-11#include#includeusingnamespacestd;intmain(){intn,r,a[100],i,j,m;while(cin>>m>>r){i=0;n=abs(m);while(n!=0){a[i]=n%r;n=n/r;i++;}if(m<0)cout<<"-";for(j=i-1;j>=0;j--){if(a[j]==10)cout<<"A";elseif(a[j]==11)cout<<"B";elseif(a[j]==12)cout<<"C";elseif(a[j]==13)cout<<"D";elseif(a[j]==14)cout<<"E";elseif(a[j]==15)cout<<"F";elsecout<}cout<}return0;}人见人爱A+BTimeLimit:2000/1000MS(Java/Others)MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):3960AcceptedSubmission(s):2563ProblemDescriptionHDOJ上面已经有10来道A+B的题目了,相信这些题目曾经是大家的最爱,希望今天的这个A+B能给大家带来好运,也希望这个题目能唤起大家对ACM曾经的热爱。这个题目的A和B不是简单的整数,而是两个时间,A和B都是由3个整数组成,分别表示时分秒,比如,假设A为344556,就表示A所表示的时间是34小时45分钟56秒。Input输入数据有多行组成,首先是一个整数N,表示测试实例的个数,然后是N行数据,每行有6个整数AH,AM,AS,BH,BM,BS,分别表示时间A和B所对应的时分秒。题目保证所有的数据合法。Output对于每个测试实例,输出A+B,每个输出结果也是由时分秒3部分组成,同时也要满足时间的规则(即:分和秒的取值范围在0~59),每个输出占一行,并且所有的部分都可以用32位整数表示。SampleInput2123456344556122334#include#includeusingnamespacestd;intmain(){intn,a[3],b[3],i,j,k,m,s,f,l,t;cin>>n;for(i=0;i{l=0;t=0;s=0;f=0;m=0;for(j=0;j<3;j++)cin>>a[j];for(k=0;k<3;k++)cin>>b[k];m=a[2]+b[2];if(m>60){m=m-60;t=1;}f=a[1]+b[1];if(t)f=f+1;if(f>60){l=1;f=f-60;}s=a[0]+b[0];if(l)s=s+1;cout<}return0;}算菜价TimeLimit:1000/1000MS(Java/Others)MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):2147AcceptedSubmission(s):1146ProblemDescription妈妈每天都要出去买菜,但是回来后,兜里的钱也懒得数一数,到底花了多少钱真是一笔糊涂帐。现在好了,作为好儿子(女儿)的你可以给她用程序算一下了,呵呵。Input输入含有一些数据组,每组数据包括菜种(字串),数量(计量单位不论,一律为double型数)和单价(double型数,表示人民币元数),因此,每组数据的菜价就是数量乘上单价啊。菜种、数量和单价之间都有空格隔开的。Output
阅读顺序
917TotalSubmit:
2424
大多数语言是从左向右读的。
但是,在一些语言中,阅读顺序是从右向左读的。
这给语言交流增加了不少的麻烦。
现在,请你编写一个程序,能够将一从左到右书写的文字自动转成从右向左的顺序。
输入
输入的第一行是一个数字n(n<100),接下来的有n行的文字,由字母、空格、数字以及各种标点组成,每行文字长度不超过200个字符。
输出
将输入的文字转成从右向左的顺序,一行输入对应一行输出。
输入样例
amanaplanacanalpanama
Frankly,Idon'tthinkwe'llmakemuch
OK?
输出样例
hcumekamll'ewknihtt'nodI,ylknarF
?
KO
解释
如果不考虑词与词之间的空格,第一句话从左向右读和从右向左读的结果是一样的:
intn,i,len,j;
chara[200];
cin>>n;
getchar();
for(j=0;j{gets(a);len=strlen(a);for(i=len-1;i>=0;i--)cout<cout<}return0;}做减法--------------------------------------------------------------------------------TimeLimit:1sMemorylimit:32MAcceptedSubmit:608TotalSubmit:2260--------------------------------------------------------------------------------乐乐今天刚学减法,老师布置了好多关于减法的家庭作业题。乐乐可不想把时间都浪费在这重复机械的题目上。你能帮帮她吗?输入输出格式输入数据由多组数据组成。每组数据只有一行,包含两个整数,用空格分开。对于每组数据,输出一行,包含两个整数的差。如果数字超过3位,应从最低位起,按每三位分组。题目所有输入输出保证在[-2^31,2^31-1]范围内。样例输入20001000样例输出1,000#include#includeusingnamespacestd;intmain(){inti,j;longn,m,s,k[100],t;while(cin>>n>>m){i=0;s=n-m;if(s<999)cout<else{while(s>999){k[i++]=s%1000;s=s/1000;}if(s<999)cout<for(j=i-1;j>=1;j--)if(k[j]>=0&&k[j]<=9)cout<<"00"<elseif(k[j]>=10&&k[j]<=19)cout<<"0"<elsecout<if(j==0)if(k[0]>=0&&k[0]<=9)cout<<"00"<elseif(k[0]>=10&&k[0]<=19)cout<<"0"<elsecout<}}return0;}不要62TimeLimit:1000/1000MS(Java/Others)MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):2329AcceptedSubmission(s):691ProblemDescription杭州人称那些傻乎乎粘嗒嗒的人为62(音:laoer)。杭州交通管理局经常会扩充一些的士车牌照,新近出来一个好消息,以后上牌照,不再含有不吉利的数字了,这样一来,就可以消除个别的士司机和乘客的心理障碍,更安全地服务大众。不吉利的数字为所有含有4或62的号码。例如:623157341888914都属于不吉利号码。但是,61152虽然含有6和2,但不是62连号,所以不属于不吉利数字之列。你的任务是,对于每次给出的一个牌照区间号,推断出交管局今次又要实际上给多少辆新的士车上牌照了。Input输入的都是整数对n、m(0Output对于每个整数对,输出一个不含有不吉利数字的统计个数,该数值占一行位置。SampleInput110000SampleOutput80#includeusingnamespacestd;inta[1000001];intmain(){inti,n,m;chars[20];a[0]=0;for(i=1;i<=1000000;i++){sprintf(s,"%d",i);if(!strstr(s,"4")&&!strstr(s,"62"))a[i]=a[i-1]+1;elsea[i]=a[i-1];}while(cin>>m>>n){if(!m&&!n)break;cout<}return0;}进制转换TimeLimit:2000/1000MS(Java/Others)MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):3629AcceptedSubmission(s):2020ProblemDescription输入一个十进制数N,将它转换成R进制数输出。Input输入数据包含多个测试实例,每个测试实例包含两个整数N(32位整数)和R(2<=R<=16,R<>10)。Output为每个测试实例输出转换后的数,每个输出占一行。如果R大于10,则对应的数字规则参考16进制(比如,10用A表示,等等)。SampleInput722312-43SampleOutput1111B-11#include#includeusingnamespacestd;intmain(){intn,r,a[100],i,j,m;while(cin>>m>>r){i=0;n=abs(m);while(n!=0){a[i]=n%r;n=n/r;i++;}if(m<0)cout<<"-";for(j=i-1;j>=0;j--){if(a[j]==10)cout<<"A";elseif(a[j]==11)cout<<"B";elseif(a[j]==12)cout<<"C";elseif(a[j]==13)cout<<"D";elseif(a[j]==14)cout<<"E";elseif(a[j]==15)cout<<"F";elsecout<}cout<}return0;}人见人爱A+BTimeLimit:2000/1000MS(Java/Others)MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):3960AcceptedSubmission(s):2563ProblemDescriptionHDOJ上面已经有10来道A+B的题目了,相信这些题目曾经是大家的最爱,希望今天的这个A+B能给大家带来好运,也希望这个题目能唤起大家对ACM曾经的热爱。这个题目的A和B不是简单的整数,而是两个时间,A和B都是由3个整数组成,分别表示时分秒,比如,假设A为344556,就表示A所表示的时间是34小时45分钟56秒。Input输入数据有多行组成,首先是一个整数N,表示测试实例的个数,然后是N行数据,每行有6个整数AH,AM,AS,BH,BM,BS,分别表示时间A和B所对应的时分秒。题目保证所有的数据合法。Output对于每个测试实例,输出A+B,每个输出结果也是由时分秒3部分组成,同时也要满足时间的规则(即:分和秒的取值范围在0~59),每个输出占一行,并且所有的部分都可以用32位整数表示。SampleInput2123456344556122334#include#includeusingnamespacestd;intmain(){intn,a[3],b[3],i,j,k,m,s,f,l,t;cin>>n;for(i=0;i{l=0;t=0;s=0;f=0;m=0;for(j=0;j<3;j++)cin>>a[j];for(k=0;k<3;k++)cin>>b[k];m=a[2]+b[2];if(m>60){m=m-60;t=1;}f=a[1]+b[1];if(t)f=f+1;if(f>60){l=1;f=f-60;}s=a[0]+b[0];if(l)s=s+1;cout<}return0;}算菜价TimeLimit:1000/1000MS(Java/Others)MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):2147AcceptedSubmission(s):1146ProblemDescription妈妈每天都要出去买菜,但是回来后,兜里的钱也懒得数一数,到底花了多少钱真是一笔糊涂帐。现在好了,作为好儿子(女儿)的你可以给她用程序算一下了,呵呵。Input输入含有一些数据组,每组数据包括菜种(字串),数量(计量单位不论,一律为double型数)和单价(double型数,表示人民币元数),因此,每组数据的菜价就是数量乘上单价啊。菜种、数量和单价之间都有空格隔开的。Output
gets(a);
for(i=len-1;i>=0;i--)
cout<cout<}return0;}做减法--------------------------------------------------------------------------------TimeLimit:1sMemorylimit:32MAcceptedSubmit:608TotalSubmit:2260--------------------------------------------------------------------------------乐乐今天刚学减法,老师布置了好多关于减法的家庭作业题。乐乐可不想把时间都浪费在这重复机械的题目上。你能帮帮她吗?输入输出格式输入数据由多组数据组成。每组数据只有一行,包含两个整数,用空格分开。对于每组数据,输出一行,包含两个整数的差。如果数字超过3位,应从最低位起,按每三位分组。题目所有输入输出保证在[-2^31,2^31-1]范围内。样例输入20001000样例输出1,000#include#includeusingnamespacestd;intmain(){inti,j;longn,m,s,k[100],t;while(cin>>n>>m){i=0;s=n-m;if(s<999)cout<else{while(s>999){k[i++]=s%1000;s=s/1000;}if(s<999)cout<for(j=i-1;j>=1;j--)if(k[j]>=0&&k[j]<=9)cout<<"00"<elseif(k[j]>=10&&k[j]<=19)cout<<"0"<elsecout<if(j==0)if(k[0]>=0&&k[0]<=9)cout<<"00"<elseif(k[0]>=10&&k[0]<=19)cout<<"0"<elsecout<}}return0;}不要62TimeLimit:1000/1000MS(Java/Others)MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):2329AcceptedSubmission(s):691ProblemDescription杭州人称那些傻乎乎粘嗒嗒的人为62(音:laoer)。杭州交通管理局经常会扩充一些的士车牌照,新近出来一个好消息,以后上牌照,不再含有不吉利的数字了,这样一来,就可以消除个别的士司机和乘客的心理障碍,更安全地服务大众。不吉利的数字为所有含有4或62的号码。例如:623157341888914都属于不吉利号码。但是,61152虽然含有6和2,但不是62连号,所以不属于不吉利数字之列。你的任务是,对于每次给出的一个牌照区间号,推断出交管局今次又要实际上给多少辆新的士车上牌照了。Input输入的都是整数对n、m(0Output对于每个整数对,输出一个不含有不吉利数字的统计个数,该数值占一行位置。SampleInput110000SampleOutput80#includeusingnamespacestd;inta[1000001];intmain(){inti,n,m;chars[20];a[0]=0;for(i=1;i<=1000000;i++){sprintf(s,"%d",i);if(!strstr(s,"4")&&!strstr(s,"62"))a[i]=a[i-1]+1;elsea[i]=a[i-1];}while(cin>>m>>n){if(!m&&!n)break;cout<}return0;}进制转换TimeLimit:2000/1000MS(Java/Others)MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):3629AcceptedSubmission(s):2020ProblemDescription输入一个十进制数N,将它转换成R进制数输出。Input输入数据包含多个测试实例,每个测试实例包含两个整数N(32位整数)和R(2<=R<=16,R<>10)。Output为每个测试实例输出转换后的数,每个输出占一行。如果R大于10,则对应的数字规则参考16进制(比如,10用A表示,等等)。SampleInput722312-43SampleOutput1111B-11#include#includeusingnamespacestd;intmain(){intn,r,a[100],i,j,m;while(cin>>m>>r){i=0;n=abs(m);while(n!=0){a[i]=n%r;n=n/r;i++;}if(m<0)cout<<"-";for(j=i-1;j>=0;j--){if(a[j]==10)cout<<"A";elseif(a[j]==11)cout<<"B";elseif(a[j]==12)cout<<"C";elseif(a[j]==13)cout<<"D";elseif(a[j]==14)cout<<"E";elseif(a[j]==15)cout<<"F";elsecout<}cout<}return0;}人见人爱A+BTimeLimit:2000/1000MS(Java/Others)MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):3960AcceptedSubmission(s):2563ProblemDescriptionHDOJ上面已经有10来道A+B的题目了,相信这些题目曾经是大家的最爱,希望今天的这个A+B能给大家带来好运,也希望这个题目能唤起大家对ACM曾经的热爱。这个题目的A和B不是简单的整数,而是两个时间,A和B都是由3个整数组成,分别表示时分秒,比如,假设A为344556,就表示A所表示的时间是34小时45分钟56秒。Input输入数据有多行组成,首先是一个整数N,表示测试实例的个数,然后是N行数据,每行有6个整数AH,AM,AS,BH,BM,BS,分别表示时间A和B所对应的时分秒。题目保证所有的数据合法。Output对于每个测试实例,输出A+B,每个输出结果也是由时分秒3部分组成,同时也要满足时间的规则(即:分和秒的取值范围在0~59),每个输出占一行,并且所有的部分都可以用32位整数表示。SampleInput2123456344556122334#include#includeusingnamespacestd;intmain(){intn,a[3],b[3],i,j,k,m,s,f,l,t;cin>>n;for(i=0;i{l=0;t=0;s=0;f=0;m=0;for(j=0;j<3;j++)cin>>a[j];for(k=0;k<3;k++)cin>>b[k];m=a[2]+b[2];if(m>60){m=m-60;t=1;}f=a[1]+b[1];if(t)f=f+1;if(f>60){l=1;f=f-60;}s=a[0]+b[0];if(l)s=s+1;cout<}return0;}算菜价TimeLimit:1000/1000MS(Java/Others)MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):2147AcceptedSubmission(s):1146ProblemDescription妈妈每天都要出去买菜,但是回来后,兜里的钱也懒得数一数,到底花了多少钱真是一笔糊涂帐。现在好了,作为好儿子(女儿)的你可以给她用程序算一下了,呵呵。Input输入含有一些数据组,每组数据包括菜种(字串),数量(计量单位不论,一律为double型数)和单价(double型数,表示人民币元数),因此,每组数据的菜价就是数量乘上单价啊。菜种、数量和单价之间都有空格隔开的。Output
cout<}return0;}做减法--------------------------------------------------------------------------------TimeLimit:1sMemorylimit:32MAcceptedSubmit:608TotalSubmit:2260--------------------------------------------------------------------------------乐乐今天刚学减法,老师布置了好多关于减法的家庭作业题。乐乐可不想把时间都浪费在这重复机械的题目上。你能帮帮她吗?输入输出格式输入数据由多组数据组成。每组数据只有一行,包含两个整数,用空格分开。对于每组数据,输出一行,包含两个整数的差。如果数字超过3位,应从最低位起,按每三位分组。题目所有输入输出保证在[-2^31,2^31-1]范围内。样例输入20001000样例输出1,000#include#includeusingnamespacestd;intmain(){inti,j;longn,m,s,k[100],t;while(cin>>n>>m){i=0;s=n-m;if(s<999)cout<else{while(s>999){k[i++]=s%1000;s=s/1000;}if(s<999)cout<for(j=i-1;j>=1;j--)if(k[j]>=0&&k[j]<=9)cout<<"00"<elseif(k[j]>=10&&k[j]<=19)cout<<"0"<elsecout<if(j==0)if(k[0]>=0&&k[0]<=9)cout<<"00"<elseif(k[0]>=10&&k[0]<=19)cout<<"0"<elsecout<}}return0;}不要62TimeLimit:1000/1000MS(Java/Others)MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):2329AcceptedSubmission(s):691ProblemDescription杭州人称那些傻乎乎粘嗒嗒的人为62(音:laoer)。杭州交通管理局经常会扩充一些的士车牌照,新近出来一个好消息,以后上牌照,不再含有不吉利的数字了,这样一来,就可以消除个别的士司机和乘客的心理障碍,更安全地服务大众。不吉利的数字为所有含有4或62的号码。例如:623157341888914都属于不吉利号码。但是,61152虽然含有6和2,但不是62连号,所以不属于不吉利数字之列。你的任务是,对于每次给出的一个牌照区间号,推断出交管局今次又要实际上给多少辆新的士车上牌照了。Input输入的都是整数对n、m(0Output对于每个整数对,输出一个不含有不吉利数字的统计个数,该数值占一行位置。SampleInput110000SampleOutput80#includeusingnamespacestd;inta[1000001];intmain(){inti,n,m;chars[20];a[0]=0;for(i=1;i<=1000000;i++){sprintf(s,"%d",i);if(!strstr(s,"4")&&!strstr(s,"62"))a[i]=a[i-1]+1;elsea[i]=a[i-1];}while(cin>>m>>n){if(!m&&!n)break;cout<}return0;}进制转换TimeLimit:2000/1000MS(Java/Others)MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):3629AcceptedSubmission(s):2020ProblemDescription输入一个十进制数N,将它转换成R进制数输出。Input输入数据包含多个测试实例,每个测试实例包含两个整数N(32位整数)和R(2<=R<=16,R<>10)。Output为每个测试实例输出转换后的数,每个输出占一行。如果R大于10,则对应的数字规则参考16进制(比如,10用A表示,等等)。SampleInput722312-43SampleOutput1111B-11#include#includeusingnamespacestd;intmain(){intn,r,a[100],i,j,m;while(cin>>m>>r){i=0;n=abs(m);while(n!=0){a[i]=n%r;n=n/r;i++;}if(m<0)cout<<"-";for(j=i-1;j>=0;j--){if(a[j]==10)cout<<"A";elseif(a[j]==11)cout<<"B";elseif(a[j]==12)cout<<"C";elseif(a[j]==13)cout<<"D";elseif(a[j]==14)cout<<"E";elseif(a[j]==15)cout<<"F";elsecout<}cout<}return0;}人见人爱A+BTimeLimit:2000/1000MS(Java/Others)MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):3960AcceptedSubmission(s):2563ProblemDescriptionHDOJ上面已经有10来道A+B的题目了,相信这些题目曾经是大家的最爱,希望今天的这个A+B能给大家带来好运,也希望这个题目能唤起大家对ACM曾经的热爱。这个题目的A和B不是简单的整数,而是两个时间,A和B都是由3个整数组成,分别表示时分秒,比如,假设A为344556,就表示A所表示的时间是34小时45分钟56秒。Input输入数据有多行组成,首先是一个整数N,表示测试实例的个数,然后是N行数据,每行有6个整数AH,AM,AS,BH,BM,BS,分别表示时间A和B所对应的时分秒。题目保证所有的数据合法。Output对于每个测试实例,输出A+B,每个输出结果也是由时分秒3部分组成,同时也要满足时间的规则(即:分和秒的取值范围在0~59),每个输出占一行,并且所有的部分都可以用32位整数表示。SampleInput2123456344556122334#include#includeusingnamespacestd;intmain(){intn,a[3],b[3],i,j,k,m,s,f,l,t;cin>>n;for(i=0;i{l=0;t=0;s=0;f=0;m=0;for(j=0;j<3;j++)cin>>a[j];for(k=0;k<3;k++)cin>>b[k];m=a[2]+b[2];if(m>60){m=m-60;t=1;}f=a[1]+b[1];if(t)f=f+1;if(f>60){l=1;f=f-60;}s=a[0]+b[0];if(l)s=s+1;cout<}return0;}算菜价TimeLimit:1000/1000MS(Java/Others)MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):2147AcceptedSubmission(s):1146ProblemDescription妈妈每天都要出去买菜,但是回来后,兜里的钱也懒得数一数,到底花了多少钱真是一笔糊涂帐。现在好了,作为好儿子(女儿)的你可以给她用程序算一下了,呵呵。Input输入含有一些数据组,每组数据包括菜种(字串),数量(计量单位不论,一律为double型数)和单价(double型数,表示人民币元数),因此,每组数据的菜价就是数量乘上单价啊。菜种、数量和单价之间都有空格隔开的。Output
做减法
608TotalSubmit:
2260
乐乐今天刚学减法,老师布置了好多关于减法的家庭作业题。
乐乐可不想把时间都浪费在这重复机械的题目上。
你能帮帮她吗?
每组数据只有一行,包含两个整数,用空格分开。
对于每组数据,输出一行,包含两个整数的差。
如果数字超过3位,应从最低位起,按每三位分组。
题目所有输入输出保证在[-2^31,2^31-1]范围内。
20001000
1,000
{inti,j;
longn,m,s,k[100],t;
{i=0;
s=n-m;
if(s<999)
cout<
while(s>999)
{k[i++]=s%1000;
s=s/1000;
for(j=i-1;j>=1;j--)
if(k[j]>=0&&k[j]<=9)cout<<"00"<elseif(k[j]>=10&&k[j]<=19)cout<<"0"<elsecout<if(j==0)if(k[0]>=0&&k[0]<=9)cout<<"00"<elseif(k[0]>=10&&k[0]<=19)cout<<"0"<elsecout<}}return0;}不要62TimeLimit:1000/1000MS(Java/Others)MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):2329AcceptedSubmission(s):691ProblemDescription杭州人称那些傻乎乎粘嗒嗒的人为62(音:laoer)。杭州交通管理局经常会扩充一些的士车牌照,新近出来一个好消息,以后上牌照,不再含有不吉利的数字了,这样一来,就可以消除个别的士司机和乘客的心理障碍,更安全地服务大众。不吉利的数字为所有含有4或62的号码。例如:623157341888914都属于不吉利号码。但是,61152虽然含有6和2,但不是62连号,所以不属于不吉利数字之列。你的任务是,对于每次给出的一个牌照区间号,推断出交管局今次又要实际上给多少辆新的士车上牌照了。Input输入的都是整数对n、m(0Output对于每个整数对,输出一个不含有不吉利数字的统计个数,该数值占一行位置。SampleInput110000SampleOutput80#includeusingnamespacestd;inta[1000001];intmain(){inti,n,m;chars[20];a[0]=0;for(i=1;i<=1000000;i++){sprintf(s,"%d",i);if(!strstr(s,"4")&&!strstr(s,"62"))a[i]=a[i-1]+1;elsea[i]=a[i-1];}while(cin>>m>>n){if(!m&&!n)break;cout<}return0;}进制转换TimeLimit:2000/1000MS(Java/Others)MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):3629AcceptedSubmission(s):2020ProblemDescription输入一个十进制数N,将它转换成R进制数输出。Input输入数据包含多个测试实例,每个测试实例包含两个整数N(32位整数)和R(2<=R<=16,R<>10)。Output为每个测试实例输出转换后的数,每个输出占一行。如果R大于10,则对应的数字规则参考16进制(比如,10用A表示,等等)。SampleInput722312-43SampleOutput1111B-11#include#includeusingnamespacestd;intmain(){intn,r,a[100],i,j,m;while(cin>>m>>r){i=0;n=abs(m);while(n!=0){a[i]=n%r;n=n/r;i++;}if(m<0)cout<<"-";for(j=i-1;j>=0;j--){if(a[j]==10)cout<<"A";elseif(a[j]==11)cout<<"B";elseif(a[j]==12)cout<<"C";elseif(a[j]==13)cout<<"D";elseif(a[j]==14)cout<<"E";elseif(a[j]==15)cout<<"F";elsecout<}cout<}return0;}人见人爱A+BTimeLimit:2000/1000MS(Java/Others)MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):3960AcceptedSubmission(s):2563ProblemDescriptionHDOJ上面已经有10来道A+B的题目了,相信这些题目曾经是大家的最爱,希望今天的这个A+B能给大家带来好运,也希望这个题目能唤起大家对ACM曾经的热爱。这个题目的A和B不是简单的整数,而是两个时间,A和B都是由3个整数组成,分别表示时分秒,比如,假设A为344556,就表示A所表示的时间是34小时45分钟56秒。Input输入数据有多行组成,首先是一个整数N,表示测试实例的个数,然后是N行数据,每行有6个整数AH,AM,AS,BH,BM,BS,分别表示时间A和B所对应的时分秒。题目保证所有的数据合法。Output对于每个测试实例,输出A+B,每个输出结果也是由时分秒3部分组成,同时也要满足时间的规则(即:分和秒的取值范围在0~59),每个输出占一行,并且所有的部分都可以用32位整数表示。SampleInput2123456344556122334#include#includeusingnamespacestd;intmain(){intn,a[3],b[3],i,j,k,m,s,f,l,t;cin>>n;for(i=0;i{l=0;t=0;s=0;f=0;m=0;for(j=0;j<3;j++)cin>>a[j];for(k=0;k<3;k++)cin>>b[k];m=a[2]+b[2];if(m>60){m=m-60;t=1;}f=a[1]+b[1];if(t)f=f+1;if(f>60){l=1;f=f-60;}s=a[0]+b[0];if(l)s=s+1;cout<}return0;}算菜价TimeLimit:1000/1000MS(Java/Others)MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):2147AcceptedSubmission(s):1146ProblemDescription妈妈每天都要出去买菜,但是回来后,兜里的钱也懒得数一数,到底花了多少钱真是一笔糊涂帐。现在好了,作为好儿子(女儿)的你可以给她用程序算一下了,呵呵。Input输入含有一些数据组,每组数据包括菜种(字串),数量(计量单位不论,一律为double型数)和单价(double型数,表示人民币元数),因此,每组数据的菜价就是数量乘上单价啊。菜种、数量和单价之间都有空格隔开的。Output
elseif(k[j]>=10&&k[j]<=19)cout<<"0"<elsecout<if(j==0)if(k[0]>=0&&k[0]<=9)cout<<"00"<elseif(k[0]>=10&&k[0]<=19)cout<<"0"<elsecout<}}return0;}不要62TimeLimit:1000/1000MS(Java/Others)MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):2329AcceptedSubmission(s):691ProblemDescription杭州人称那些傻乎乎粘嗒嗒的人为62(音:laoer)。杭州交通管理局经常会扩充一些的士车牌照,新近出来一个好消息,以后上牌照,不再含有不吉利的数字了,这样一来,就可以消除个别的士司机和乘客的心理障碍,更安全地服务大众。不吉利的数字为所有含有4或62的号码。例如:623157341888914都属于不吉利号码。但是,61152虽然含有6和2,但不是62连号,所以不属于不吉利数字之列。你的任务是,对于每次给出的一个牌照区间号,推断出交管局今次又要实际上给多少辆新的士车上牌照了。Input输入的都是整数对n、m(0Output对于每个整数对,输出一个不含有不吉利数字的统计个数,该数值占一行位置。SampleInput110000SampleOutput80#includeusingnamespacestd;inta[1000001];intmain(){inti,n,m;chars[20];a[0]=0;for(i=1;i<=1000000;i++){sprintf(s,"%d",i);if(!strstr(s,"4")&&!strstr(s,"62"))a[i]=a[i-1]+1;elsea[i]=a[i-1];}while(cin>>m>>n){if(!m&&!n)break;cout<}return0;}进制转换TimeLimit:2000/1000MS(Java/Others)MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):3629AcceptedSubmission(s):2020ProblemDescription输入一个十进制数N,将它转换成R进制数输出。Input输入数据包含多个测试实例,每个测试实例包含两个整数N(32位整数)和R(2<=R<=16,R<>10)。Output为每个测试实例输出转换后的数,每个输出占一行。如果R大于10,则对应的数字规则参考16进制(比如,10用A表示,等等)。SampleInput722312-43SampleOutput1111B-11#include#includeusingnamespacestd;intmain(){intn,r,a[100],i,j,m;while(cin>>m>>r){i=0;n=abs(m);while(n!=0){a[i]=n%r;n=n/r;i++;}if(m<0)cout<<"-";for(j=i-1;j>=0;j--){if(a[j]==10)cout<<"A";elseif(a[j]==11)cout<<"B";elseif(a[j]==12)cout<<"C";elseif(a[j]==13)cout<<"D";elseif(a[j]==14)cout<<"E";elseif(a[j]==15)cout<<"F";elsecout<}cout<}return0;}人见人爱A+BTimeLimit:2000/1000MS(Java/Others)MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):3960AcceptedSubmission(s):2563ProblemDescriptionHDOJ上面已经有10来道A+B的题目了,相信这些题目曾经是大家的最爱,希望今天的这个A+B能给大家带来好运,也希望这个题目能唤起大家对ACM曾经的热爱。这个题目的A和B不是简单的整数,而是两个时间,A和B都是由3个整数组成,分别表示时分秒,比如,假设A为344556,就表示A所表示的时间是34小时45分钟56秒。Input输入数据有多行组成,首先是一个整数N,表示测试实例的个数,然后是N行数据,每行有6个整数AH,AM,AS,BH,BM,BS,分别表示时间A和B所对应的时分秒。题目保证所有的数据合法。Output对于每个测试实例,输出A+B,每个输出结果也是由时分秒3部分组成,同时也要满足时间的规则(即:分和秒的取值范围在0~59),每个输出占一行,并且所有的部分都可以用32位整数表示。SampleInput2123456344556122334#include#includeusingnamespacestd;intmain(){intn,a[3],b[3],i,j,k,m,s,f,l,t;cin>>n;for(i=0;i{l=0;t=0;s=0;f=0;m=0;for(j=0;j<3;j++)cin>>a[j];for(k=0;k<3;k++)cin>>b[k];m=a[2]+b[2];if(m>60){m=m-60;t=1;}f=a[1]+b[1];if(t)f=f+1;if(f>60){l=1;f=f-60;}s=a[0]+b[0];if(l)s=s+1;cout<}return0;}算菜价TimeLimit:1000/1000MS(Java/Others)MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):2147AcceptedSubmission(s):1146ProblemDescription妈妈每天都要出去买菜,但是回来后,兜里的钱也懒得数一数,到底花了多少钱真是一笔糊涂帐。现在好了,作为好儿子(女儿)的你可以给她用程序算一下了,呵呵。Input输入含有一些数据组,每组数据包括菜种(字串),数量(计量单位不论,一律为double型数)和单价(double型数,表示人民币元数),因此,每组数据的菜价就是数量乘上单价啊。菜种、数量和单价之间都有空格隔开的。Output
elsecout<if(j==0)if(k[0]>=0&&k[0]<=9)cout<<"00"<elseif(k[0]>=10&&k[0]<=19)cout<<"0"<elsecout<}}return0;}不要62TimeLimit:1000/1000MS(Java/Others)MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):2329AcceptedSubmission(s):691ProblemDescription杭州人称那些傻乎乎粘嗒嗒的人为62(音:laoer)。杭州交通管理局经常会扩充一些的士车牌照,新近出来一个好消息,以后上牌照,不再含有不吉利的数字了,这样一来,就可以消除个别的士司机和乘客的心理障碍,更安全地服务大众。不吉利的数字为所有含有4或62的号码。例如:623157341888914都属于不吉利号码。但是,61152虽然含有6和2,但不是62连号,所以不属于不吉利数字之列。你的任务是,对于每次给出的一个牌照区间号,推断出交管局今次又要实际上给多少辆新的士车上牌照了。Input输入的都是整数对n、m(0Output对于每个整数对,输出一个不含有不吉利数字的统计个数,该数值占一行位置。SampleInput110000SampleOutput80#includeusingnamespacestd;inta[1000001];intmain(){inti,n,m;chars[20];a[0]=0;for(i=1;i<=1000000;i++){sprintf(s,"%d",i);if(!strstr(s,"4")&&!strstr(s,"62"))a[i]=a[i-1]+1;elsea[i]=a[i-1];}while(cin>>m>>n){if(!m&&!n)break;cout<}return0;}进制转换TimeLimit:2000/1000MS(Java/Others)MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):3629AcceptedSubmission(s):2020ProblemDescription输入一个十进制数N,将它转换成R进制数输出。Input输入数据包含多个测试实例,每个测试实例包含两个整数N(32位整数)和R(2<=R<=16,R<>10)。Output为每个测试实例输出转换后的数,每个输出占一行。如果R大于10,则对应的数字规则参考16进制(比如,10用A表示,等等)。SampleInput722312-43SampleOutput1111B-11#include#includeusingnamespacestd;intmain(){intn,r,a[100],i,j,m;while(cin>>m>>r){i=0;n=abs(m);while(n!=0){a[i]=n%r;n=n/r;i++;}if(m<0)cout<<"-";for(j=i-1;j>=0;j--){if(a[j]==10)cout<<"A";elseif(a[j]==11)cout<<"B";elseif(a[j]==12)cout<<"C";elseif(a[j]==13)cout<<"D";elseif(a[j]==14)cout<<"E";elseif(a[j]==15)cout<<"F";elsecout<}cout<}return0;}人见人爱A+BTimeLimit:2000/1000MS(Java/Others)MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):3960AcceptedSubmission(s):2563ProblemDescriptionHDOJ上面已经有10来道A+B的题目了,相信这些题目曾经是大家的最爱,希望今天的这个A+B能给大家带来好运,也希望这个题目能唤起大家对ACM曾经的热爱。这个题目的A和B不是简单的整数,而是两个时间,A和B都是由3个整数组成,分别表示时分秒,比如,假设A为344556,就表示A所表示的时间是34小时45分钟56秒。Input输入数据有多行组成,首先是一个整数N,表示测试实例的个数,然后是N行数据,每行有6个整数AH,AM,AS,BH,BM,BS,分别表示时间A和B所对应的时分秒。题目保证所有的数据合法。Output对于每个测试实例,输出A+B,每个输出结果也是由时分秒3部分组成,同时也要满足时间的规则(即:分和秒的取值范围在0~59),每个输出占一行,并且所有的部分都可以用32位整数表示。SampleInput2123456344556122334#include#includeusingnamespacestd;intmain(){intn,a[3],b[3],i,j,k,m,s,f,l,t;cin>>n;for(i=0;i{l=0;t=0;s=0;f=0;m=0;for(j=0;j<3;j++)cin>>a[j];for(k=0;k<3;k++)cin>>b[k];m=a[2]+b[2];if(m>60){m=m-60;t=1;}f=a[1]+b[1];if(t)f=f+1;if(f>60){l=1;f=f-60;}s=a[0]+b[0];if(l)s=s+1;cout<}return0;}算菜价TimeLimit:1000/1000MS(Java/Others)MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):2147AcceptedSubmission(s):1146ProblemDescription妈妈每天都要出去买菜,但是回来后,兜里的钱也懒得数一数,到底花了多少钱真是一笔糊涂帐。现在好了,作为好儿子(女儿)的你可以给她用程序算一下了,呵呵。Input输入含有一些数据组,每组数据包括菜种(字串),数量(计量单位不论,一律为double型数)和单价(double型数,表示人民币元数),因此,每组数据的菜价就是数量乘上单价啊。菜种、数量和单价之间都有空格隔开的。Output
if(j==0)
if(k[0]>=0&&k[0]<=9)cout<<"00"<elseif(k[0]>=10&&k[0]<=19)cout<<"0"<elsecout<}}return0;}不要62TimeLimit:1000/1000MS(Java/Others)MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):2329AcceptedSubmission(s):691ProblemDescription杭州人称那些傻乎乎粘嗒嗒的人为62(音:laoer)。杭州交通管理局经常会扩充一些的士车牌照,新近出来一个好消息,以后上牌照,不再含有不吉利的数字了,这样一来,就可以消除个别的士司机和乘客的心理障碍,更安全地服务大众。不吉利的数字为所有含有4或62的号码。例如:623157341888914都属于不吉利号码。但是,61152虽然含有6和2,但不是62连号,所以不属于不吉利数字之列。你的任务是,对于每次给出的一个牌照区间号,推断出交管局今次又要实际上给多少辆新的士车上牌照了。Input输入的都是整数对n、m(0Output对于每个整数对,输出一个不含有不吉利数字的统计个数,该数值占一行位置。SampleInput110000SampleOutput80#includeusingnamespacestd;inta[1000001];intmain(){inti,n,m;chars[20];a[0]=0;for(i=1;i<=1000000;i++){sprintf(s,"%d",i);if(!strstr(s,"4")&&!strstr(s,"62"))a[i]=a[i-1]+1;elsea[i]=a[i-1];}while(cin>>m>>n){if(!m&&!n)break;cout<}return0;}进制转换TimeLimit:2000/1000MS(Java/Others)MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):3629AcceptedSubmission(s):2020ProblemDescription输入一个十进制数N,将它转换成R进制数输出。Input输入数据包含多个测试实例,每个测试实例包含两个整数N(32位整数)和R(2<=R<=16,R<>10)。Output为每个测试实例输出转换后的数,每个输出占一行。如果R大于10,则对应的数字规则参考16进制(比如,10用A表示,等等)。SampleInput722312-43SampleOutput1111B-11#include#includeusingnamespacestd;intmain(){intn,r,a[100],i,j,m;while(cin>>m>>r){i=0;n=abs(m);while(n!=0){a[i]=n%r;n=n/r;i++;}if(m<0)cout<<"-";for(j=i-1;j>=0;j--){if(a[j]==10)cout<<"A";elseif(a[j]==11)cout<<"B";elseif(a[j]==12)cout<<"C";elseif(a[j]==13)cout<<"D";elseif(a[j]==14)cout<<"E";elseif(a[j]==15)cout<<"F";elsecout<}cout<}return0;}人见人爱A+BTimeLimit:2000/1000MS(Java/Others)MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):3960AcceptedSubmission(s):2563ProblemDescriptionHDOJ上面已经有10来道A+B的题目了,相信这些题目曾经是大家的最爱,希望今天的这个A+B能给大家带来好运,也希望这个题目能唤起大家对ACM曾经的热爱。这个题目的A和B不是简单的整数,而是两个时间,A和B都是由3个整数组成,分别表示时分秒,比如,假设A为344556,就表示A所表示的时间是34小时45分钟56秒。Input输入数据有多行组成,首先是一个整数N,表示测试实例的个数,然后是N行数据,每行有6个整数AH,AM,AS,BH,BM,BS,分别表示时间A和B所对应的时分秒。题目保证所有的数据合法。Output对于每个测试实例,输出A+B,每个输出结果也是由时分秒3部分组成,同时也要满足时间的规则(即:分和秒的取值范围在0~59),每个输出占一行,并且所有的部分都可以用32位整数表示。SampleInput2123456344556122334#include#includeusingnamespacestd;intmain(){intn,a[3],b[3],i,j,k,m,s,f,l,t;cin>>n;for(i=0;i{l=0;t=0;s=0;f=0;m=0;for(j=0;j<3;j++)cin>>a[j];for(k=0;k<3;k++)cin>>b[k];m=a[2]+b[2];if(m>60){m=m-60;t=1;}f=a[1]+b[1];if(t)f=f+1;if(f>60){l=1;f=f-60;}s=a[0]+b[0];if(l)s=s+1;cout<}return0;}算菜价TimeLimit:1000/1000MS(Java/Others)MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):2147AcceptedSubmission(s):1146ProblemDescription妈妈每天都要出去买菜,但是回来后,兜里的钱也懒得数一数,到底花了多少钱真是一笔糊涂帐。现在好了,作为好儿子(女儿)的你可以给她用程序算一下了,呵呵。Input输入含有一些数据组,每组数据包括菜种(字串),数量(计量单位不论,一律为double型数)和单价(double型数,表示人民币元数),因此,每组数据的菜价就是数量乘上单价啊。菜种、数量和单价之间都有空格隔开的。Output
elseif(k[0]>=10&&k[0]<=19)cout<<"0"<elsecout<}}return0;}不要62TimeLimit:1000/1000MS(Java/Others)MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):2329AcceptedSubmission(s):691ProblemDescription杭州人称那些傻乎乎粘嗒嗒的人为62(音:laoer)。杭州交通管理局经常会扩充一些的士车牌照,新近出来一个好消息,以后上牌照,不再含有不吉利的数字了,这样一来,就可以消除个别的士司机和乘客的心理障碍,更安全地服务大众。不吉利的数字为所有含有4或62的号码。例如:623157341888914都属于不吉利号码。但是,61152虽然含有6和2,但不是62连号,所以不属于不吉利数字之列。你的任务是,对于每次给出的一个牌照区间号,推断出交管局今次又要实际上给多少辆新的士车上牌照了。Input输入的都是整数对n、m(0Output对于每个整数对,输出一个不含有不吉利数字的统计个数,该数值占一行位置。SampleInput110000SampleOutput80#includeusingnamespacestd;inta[1000001];intmain(){inti,n,m;chars[20];a[0]=0;for(i=1;i<=1000000;i++){sprintf(s,"%d",i);if(!strstr(s,"4")&&!strstr(s,"62"))a[i]=a[i-1]+1;elsea[i]=a[i-1];}while(cin>>m>>n){if(!m&&!n)break;cout<}return0;}进制转换TimeLimit:2000/1000MS(Java/Others)MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):3629AcceptedSubmission(s):2020ProblemDescription输入一个十进制数N,将它转换成R进制数输出。Input输入数据包含多个测试实例,每个测试实例包含两个整数N(32位整数)和R(2<=R<=16,R<>10)。Output为每个测试实例输出转换后的数,每个输出占一行。如果R大于10,则对应的数字规则参考16进制(比如,10用A表示,等等)。SampleInput722312-43SampleOutput1111B-11#include#includeusingnamespacestd;intmain(){intn,r,a[100],i,j,m;while(cin>>m>>r){i=0;n=abs(m);while(n!=0){a[i]=n%r;n=n/r;i++;}if(m<0)cout<<"-";for(j=i-1;j>=0;j--){if(a[j]==10)cout<<"A";elseif(a[j]==11)cout<<"B";elseif(a[j]==12)cout<<"C";elseif(a[j]==13)cout<<"D";elseif(a[j]==14)cout<<"E";elseif(a[j]==15)cout<<"F";elsecout<}cout<}return0;}人见人爱A+BTimeLimit:2000/1000MS(Java/Others)MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):3960AcceptedSubmission(s):2563ProblemDescriptionHDOJ上面已经有10来道A+B的题目了,相信这些题目曾经是大家的最爱,希望今天的这个A+B能给大家带来好运,也希望这个题目能唤起大家对ACM曾经的热爱。这个题目的A和B不是简单的整数,而是两个时间,A和B都是由3个整数组成,分别表示时分秒,比如,假设A为344556,就表示A所表示的时间是34小时45分钟56秒。Input输入数据有多行组成,首先是一个整数N,表示测试实例的个数,然后是N行数据,每行有6个整数AH,AM,AS,BH,BM,BS,分别表示时间A和B所对应的时分秒。题目保证所有的数据合法。Output对于每个测试实例,输出A+B,每个输出结果也是由时分秒3部分组成,同时也要满足时间的规则(即:分和秒的取值范围在0~59),每个输出占一行,并且所有的部分都可以用32位整数表示。SampleInput2123456344556122334#include#includeusingnamespacestd;intmain(){intn,a[3],b[3],i,j,k,m,s,f,l,t;cin>>n;for(i=0;i{l=0;t=0;s=0;f=0;m=0;for(j=0;j<3;j++)cin>>a[j];for(k=0;k<3;k++)cin>>b[k];m=a[2]+b[2];if(m>60){m=m-60;t=1;}f=a[1]+b[1];if(t)f=f+1;if(f>60){l=1;f=f-60;}s=a[0]+b[0];if(l)s=s+1;cout<}return0;}算菜价TimeLimit:1000/1000MS(Java/Others)MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):2147AcceptedSubmission(s):1146ProblemDescription妈妈每天都要出去买菜,但是回来后,兜里的钱也懒得数一数,到底花了多少钱真是一笔糊涂帐。现在好了,作为好儿子(女儿)的你可以给她用程序算一下了,呵呵。Input输入含有一些数据组,每组数据包括菜种(字串),数量(计量单位不论,一律为double型数)和单价(double型数,表示人民币元数),因此,每组数据的菜价就是数量乘上单价啊。菜种、数量和单价之间都有空格隔开的。Output
elsecout<}}return0;}不要62TimeLimit:1000/1000MS(Java/Others)MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):2329AcceptedSubmission(s):691ProblemDescription杭州人称那些傻乎乎粘嗒嗒的人为62(音:laoer)。杭州交通管理局经常会扩充一些的士车牌照,新近出来一个好消息,以后上牌照,不再含有不吉利的数字了,这样一来,就可以消除个别的士司机和乘客的心理障碍,更安全地服务大众。不吉利的数字为所有含有4或62的号码。例如:623157341888914都属于不吉利号码。但是,61152虽然含有6和2,但不是62连号,所以不属于不吉利数字之列。你的任务是,对于每次给出的一个牌照区间号,推断出交管局今次又要实际上给多少辆新的士车上牌照了。Input输入的都是整数对n、m(0Output对于每个整数对,输出一个不含有不吉利数字的统计个数,该数值占一行位置。SampleInput110000SampleOutput80#includeusingnamespacestd;inta[1000001];intmain(){inti,n,m;chars[20];a[0]=0;for(i=1;i<=1000000;i++){sprintf(s,"%d",i);if(!strstr(s,"4")&&!strstr(s,"62"))a[i]=a[i-1]+1;elsea[i]=a[i-1];}while(cin>>m>>n){if(!m&&!n)break;cout<}return0;}进制转换TimeLimit:2000/1000MS(Java/Others)MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):3629AcceptedSubmission(s):2020ProblemDescription输入一个十进制数N,将它转换成R进制数输出。Input输入数据包含多个测试实例,每个测试实例包含两个整数N(32位整数)和R(2<=R<=16,R<>10)。Output为每个测试实例输出转换后的数,每个输出占一行。如果R大于10,则对应的数字规则参考16进制(比如,10用A表示,等等)。SampleInput722312-43SampleOutput1111B-11#include#includeusingnamespacestd;intmain(){intn,r,a[100],i,j,m;while(cin>>m>>r){i=0;n=abs(m);while(n!=0){a[i]=n%r;n=n/r;i++;}if(m<0)cout<<"-";for(j=i-1;j>=0;j--){if(a[j]==10)cout<<"A";elseif(a[j]==11)cout<<"B";elseif(a[j]==12)cout<<"C";elseif(a[j]==13)cout<<"D";elseif(a[j]==14)cout<<"E";elseif(a[j]==15)cout<<"F";elsecout<}cout<}return0;}人见人爱A+BTimeLimit:2000/1000MS(Java/Others)MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):3960AcceptedSubmission(s):2563ProblemDescriptionHDOJ上面已经有10来道A+B的题目了,相信这些题目曾经是大家的最爱,希望今天的这个A+B能给大家带来好运,也希望这个题目能唤起大家对ACM曾经的热爱。这个题目的A和B不是简单的整数,而是两个时间,A和B都是由3个整数组成,分别表示时分秒,比如,假设A为344556,就表示A所表示的时间是34小时45分钟56秒。Input输入数据有多行组成,首先是一个整数N,表示测试实例的个数,然后是N行数据,每行有6个整数AH,AM,AS,BH,BM,BS,分别表示时间A和B所对应的时分秒。题目保证所有的数据合法。Output对于每个测试实例,输出A+B,每个输出结果也是由时分秒3部分组成,同时也要满足时间的规则(即:分和秒的取值范围在0~59),每个输出占一行,并且所有的部分都可以用32位整数表示。SampleInput2123456344556122334#include#includeusingnamespacestd;intmain(){intn,a[3],b[3],i,j,k,m,s,f,l,t;cin>>n;for(i=0;i{l=0;t=0;s=0;f=0;m=0;for(j=0;j<3;j++)cin>>a[j];for(k=0;k<3;k++)cin>>b[k];m=a[2]+b[2];if(m>60){m=m-60;t=1;}f=a[1]+b[1];if(t)f=f+1;if(f>60){l=1;f=f-60;}s=a[0]+b[0];if(l)s=s+1;cout<}return0;}算菜价TimeLimit:1000/1000MS(Java/Others)MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):2147AcceptedSubmission(s):1146ProblemDescription妈妈每天都要出去买菜,但是回来后,兜里的钱也懒得数一数,到底花了多少钱真是一笔糊涂帐。现在好了,作为好儿子(女儿)的你可以给她用程序算一下了,呵呵。Input输入含有一些数据组,每组数据包括菜种(字串),数量(计量单位不论,一律为double型数)和单价(double型数,表示人民币元数),因此,每组数据的菜价就是数量乘上单价啊。菜种、数量和单价之间都有空格隔开的。Output
不要62
1000/1000MS(Java/Others)MemoryLimit:
32768/32768K(Java/Others)
2329AcceptedSubmission(s):
691
杭州人称那些傻乎乎粘嗒嗒的人为62(音:
laoer)。
杭州交通管理局经常会扩充一些的士车牌照,新近出来一个好消息,以后上牌照,不再含有不吉利的数字了,这样一来,就可以消除个别的士司机和乘客的心理障碍,更安全地服务大众。
不吉利的数字为所有含有4或62的号码。
例如:
623157341888914
都属于不吉利号码。
但是,61152虽然含有6和2,但不是62连号,所以不属于不吉利数字之列。
你的任务是,对于每次给出的一个牌照区间号,推断出交管局今次又要实际上给多少辆新的士车上牌照了。
输入的都是整数对n、m(0Output对于每个整数对,输出一个不含有不吉利数字的统计个数,该数值占一行位置。SampleInput110000SampleOutput80#includeusingnamespacestd;inta[1000001];intmain(){inti,n,m;chars[20];a[0]=0;for(i=1;i<=1000000;i++){sprintf(s,"%d",i);if(!strstr(s,"4")&&!strstr(s,"62"))a[i]=a[i-1]+1;elsea[i]=a[i-1];}while(cin>>m>>n){if(!m&&!n)break;cout<}return0;}进制转换TimeLimit:2000/1000MS(Java/Others)MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):3629AcceptedSubmission(s):2020ProblemDescription输入一个十进制数N,将它转换成R进制数输出。Input输入数据包含多个测试实例,每个测试实例包含两个整数N(32位整数)和R(2<=R<=16,R<>10)。Output为每个测试实例输出转换后的数,每个输出占一行。如果R大于10,则对应的数字规则参考16进制(比如,10用A表示,等等)。SampleInput722312-43SampleOutput1111B-11#include#includeusingnamespacestd;intmain(){intn,r,a[100],i,j,m;while(cin>>m>>r){i=0;n=abs(m);while(n!=0){a[i]=n%r;n=n/r;i++;}if(m<0)cout<<"-";for(j=i-1;j>=0;j--){if(a[j]==10)cout<<"A";elseif(a[j]==11)cout<<"B";elseif(a[j]==12)cout<<"C";elseif(a[j]==13)cout<<"D";elseif(a[j]==14)cout<<"E";elseif(a[j]==15)cout<<"F";elsecout<}cout<}return0;}人见人爱A+BTimeLimit:2000/1000MS(Java/Others)MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):3960AcceptedSubmission(s):2563ProblemDescriptionHDOJ上面已经有10来道A+B的题目了,相信这些题目曾经是大家的最爱,希望今天的这个A+B能给大家带来好运,也希望这个题目能唤起大家对ACM曾经的热爱。这个题目的A和B不是简单的整数,而是两个时间,A和B都是由3个整数组成,分别表示时分秒,比如,假设A为344556,就表示A所表示的时间是34小时45分钟56秒。Input输入数据有多行组成,首先是一个整数N,表示测试实例的个数,然后是N行数据,每行有6个整数AH,AM,AS,BH,BM,BS,分别表示时间A和B所对应的时分秒。题目保证所有的数据合法。Output对于每个测试实例,输出A+B,每个输出结果也是由时分秒3部分组成,同时也要满足时间的规则(即:分和秒的取值范围在0~59),每个输出占一行,并且所有的部分都可以用32位整数表示。SampleInput2123456344556122334#include#includeusingnamespacestd;intmain(){intn,a[3],b[3],i,j,k,m,s,f,l,t;cin>>n;for(i=0;i{l=0;t=0;s=0;f=0;m=0;for(j=0;j<3;j++)cin>>a[j];for(k=0;k<3;k++)cin>>b[k];m=a[2]+b[2];if(m>60){m=m-60;t=1;}f=a[1]+b[1];if(t)f=f+1;if(f>60){l=1;f=f-60;}s=a[0]+b[0];if(l)s=s+1;cout<}return0;}算菜价TimeLimit:1000/1000MS(Java/Others)MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):2147AcceptedSubmission(s):1146ProblemDescription妈妈每天都要出去买菜,但是回来后,兜里的钱也懒得数一数,到底花了多少钱真是一笔糊涂帐。现在好了,作为好儿子(女儿)的你可以给她用程序算一下了,呵呵。Input输入含有一些数据组,每组数据包括菜种(字串),数量(计量单位不论,一律为double型数)和单价(double型数,表示人民币元数),因此,每组数据的菜价就是数量乘上单价啊。菜种、数量和单价之间都有空格隔开的。Output
对于每个整数对,输出一个不含有不吉利数字的统计个数,该数值占一行位置。
1100
00
80
inta[1000001];
inti,n,m;
chars[20];
a[0]=0;
for(i=1;i<=1000000;i++)
sprintf(s,"%d",i);
if(!
strstr(s,"4")&&!
strstr(s,"62"))
a[i]=a[i-1]+1;
elsea[i]=a[i-1];
while(cin>>m>>n)
m&&!
n)break;
cout<}return0;}进制转换TimeLimit:2000/1000MS(Java/Others)MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):3629AcceptedSubmission(s):2020ProblemDescription输入一个十进制数N,将它转换成R进制数输出。Input输入数据包含多个测试实例,每个测试实例包含两个整数N(32位整数)和R(2<=R<=16,R<>10)。Output为每个测试实例输出转换后的数,每个输出占一行。如果R大于10,则对应的数字规则参考16进制(比如,10用A表示,等等)。SampleInput722312-43SampleOutput1111B-11#include#includeusingnamespacestd;intmain(){intn,r,a[100],i,j,m;while(cin>>m>>r){i=0;n=abs(m);while(n!=0){a[i]=n%r;n=n/r;i++;}if(m<0)cout<<"-";for(j=i-1;j>=0;j--){if(a[j]==10)cout<<"A";elseif(a[j]==11)cout<<"B";elseif(a[j]==12)cout<<"C";elseif(a[j]==13)cout<<"D";elseif(a[j]==14)cout<<"E";elseif(a[j]==15)cout<<"F";elsecout<}cout<}return0;}人见人爱A+BTimeLimit:2000/1000MS(Java/Others)MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):3960AcceptedSubmission(s):2563ProblemDescriptionHDOJ上面已经有10来道A+B的题目了,相信这些题目曾经是大家的最爱,希望今天的这个A+B能给大家带来好运,也希望这个题目能唤起大家对ACM曾经的热爱。这个题目的A和B不是简单的整数,而是两个时间,A和B都是由3个整数组成,分别表示时分秒,比如,假设A为344556,就表示A所表示的时间是34小时45分钟56秒。Input输入数据有多行组成,首先是一个整数N,表示测试实例的个数,然后是N行数据,每行有6个整数AH,AM,AS,BH,BM,BS,分别表示时间A和B所对应的时分秒。题目保证所有的数据合法。Output对于每个测试实例,输出A+B,每个输出结果也是由时分秒3部分组成,同时也要满足时间的规则(即:分和秒的取值范围在0~59),每个输出占一行,并且所有的部分都可以用32位整数表示。SampleInput2123456344556122334#include#includeusingnamespacestd;intmain(){intn,a[3],b[3],i,j,k,m,s,f,l,t;cin>>n;for(i=0;i{l=0;t=0;s=0;f=0;m=0;for(j=0;j<3;j++)cin>>a[j];for(k=0;k<3;k++)cin>>b[k];m=a[2]+b[2];if(m>60){m=m-60;t=1;}f=a[1]+b[1];if(t)f=f+1;if(f>60){l=1;f=f-60;}s=a[0]+b[0];if(l)s=s+1;cout<}return0;}算菜价TimeLimit:1000/1000MS(Java/Others)MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):2147AcceptedSubmission(s):1146ProblemDescription妈妈每天都要出去买菜,但是回来后,兜里的钱也懒得数一数,到底花了多少钱真是一笔糊涂帐。现在好了,作为好儿子(女儿)的你可以给她用程序算一下了,呵呵。Input输入含有一些数据组,每组数据包括菜种(字串),数量(计量单位不论,一律为double型数)和单价(double型数,表示人民币元数),因此,每组数据的菜价就是数量乘上单价啊。菜种、数量和单价之间都有空格隔开的。Output
进制转换
3629AcceptedSubmission(s):
2020
输入一个十进制数N,将它转换成R进制数输出。
输入数据包含多个测试实例,每个测试实例包含两个整数N(32位整数)和R(2<=R<=16,R<>10)。
为每个测试实例输出转换后的数,每个输出占一行。
如果R大于10,则对应的数字规则参考16进制(比如,10用A表示,等等)。
72
2312
-43
111
1B
-11
intn,r,a[100],i,j,m;
while(cin>>m>>r)
i=0;
n=abs(m);
while(n!
=0)
a[i]=n%r;
n=n/r;
i++;
if(m<0)cout<<"-";
for(j=i-1;j>=0;j--)
if(a[j]==10)cout<<"A";
elseif(a[j]==11)cout<<"B";
elseif(a[j]==12)cout<<"C";
elseif(a[j]==13)cout<<"D";
elseif(a[j]==14)cout<<"E";
elseif(a[j]==15)cout<<"F";
elsecout<}cout<}return0;}人见人爱A+BTimeLimit:2000/1000MS(Java/Others)MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):3960AcceptedSubmission(s):2563ProblemDescriptionHDOJ上面已经有10来道A+B的题目了,相信这些题目曾经是大家的最爱,希望今天的这个A+B能给大家带来好运,也希望这个题目能唤起大家对ACM曾经的热爱。这个题目的A和B不是简单的整数,而是两个时间,A和B都是由3个整数组成,分别表示时分秒,比如,假设A为344556,就表示A所表示的时间是34小时45分钟56秒。Input输入数据有多行组成,首先是一个整数N,表示测试实例的个数,然后是N行数据,每行有6个整数AH,AM,AS,BH,BM,BS,分别表示时间A和B所对应的时分秒。题目保证所有的数据合法。Output对于每个测试实例,输出A+B,每个输出结果也是由时分秒3部分组成,同时也要满足时间的规则(即:分和秒的取值范围在0~59),每个输出占一行,并且所有的部分都可以用32位整数表示。SampleInput2123456344556122334#include#includeusingnamespacestd;intmain(){intn,a[3],b[3],i,j,k,m,s,f,l,t;cin>>n;for(i=0;i{l=0;t=0;s=0;f=0;m=0;for(j=0;j<3;j++)cin>>a[j];for(k=0;k<3;k++)cin>>b[k];m=a[2]+b[2];if(m>60){m=m-60;t=1;}f=a[1]+b[1];if(t)f=f+1;if(f>60){l=1;f=f-60;}s=a[0]+b[0];if(l)s=s+1;cout<}return0;}算菜价TimeLimit:1000/1000MS(Java/Others)MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):2147AcceptedSubmission(s):1146ProblemDescription妈妈每天都要出去买菜,但是回来后,兜里的钱也懒得数一数,到底花了多少钱真是一笔糊涂帐。现在好了,作为好儿子(女儿)的你可以给她用程序算一下了,呵呵。Input输入含有一些数据组,每组数据包括菜种(字串),数量(计量单位不论,一律为double型数)和单价(double型数,表示人民币元数),因此,每组数据的菜价就是数量乘上单价啊。菜种、数量和单价之间都有空格隔开的。Output
cout<}return0;}人见人爱A+BTimeLimit:2000/1000MS(Java/Others)MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):3960AcceptedSubmission(s):2563ProblemDescriptionHDOJ上面已经有10来道A+B的题目了,相信这些题目曾经是大家的最爱,希望今天的这个A+B能给大家带来好运,也希望这个题目能唤起大家对ACM曾经的热爱。这个题目的A和B不是简单的整数,而是两个时间,A和B都是由3个整数组成,分别表示时分秒,比如,假设A为344556,就表示A所表示的时间是34小时45分钟56秒。Input输入数据有多行组成,首先是一个整数N,表示测试实例的个数,然后是N行数据,每行有6个整数AH,AM,AS,BH,BM,BS,分别表示时间A和B所对应的时分秒。题目保证所有的数据合法。Output对于每个测试实例,输出A+B,每个输出结果也是由时分秒3部分组成,同时也要满足时间的规则(即:分和秒的取值范围在0~59),每个输出占一行,并且所有的部分都可以用32位整数表示。SampleInput2123456344556122334#include#includeusingnamespacestd;intmain(){intn,a[3],b[3],i,j,k,m,s,f,l,t;cin>>n;for(i=0;i{l=0;t=0;s=0;f=0;m=0;for(j=0;j<3;j++)cin>>a[j];for(k=0;k<3;k++)cin>>b[k];m=a[2]+b[2];if(m>60){m=m-60;t=1;}f=a[1]+b[1];if(t)f=f+1;if(f>60){l=1;f=f-60;}s=a[0]+b[0];if(l)s=s+1;cout<}return0;}算菜价TimeLimit:1000/1000MS(Java/Others)MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):2147AcceptedSubmission(s):1146ProblemDescription妈妈每天都要出去买菜,但是回来后,兜里的钱也懒得数一数,到底花了多少钱真是一笔糊涂帐。现在好了,作为好儿子(女儿)的你可以给她用程序算一下了,呵呵。Input输入含有一些数据组,每组数据包括菜种(字串),数量(计量单位不论,一律为double型数)和单价(double型数,表示人民币元数),因此,每组数据的菜价就是数量乘上单价啊。菜种、数量和单价之间都有空格隔开的。Output
人见人爱A+B
3960AcceptedSubmission(s):
2563
HDOJ上面已经有10来道A+B的题目了,相信这些题目曾经是大家的最爱,希望今天的这个A+B能给大家带来好运,也希望这个题目能唤起大家对ACM曾经的热爱。
这个题目的A和B不是简单的整数,而是两个时间,A和B都是由3个整数组成,分别表示时分秒,比如,假设A为344556,就表示A所表示的时间是34小时45分钟56秒。
输入数据有多行组成,首先是一个整数N,表示测试实例的个数,然后是N行数据,每行有6个整数AH,AM,AS,BH,BM,BS,分别表示时间A和B所对应的时分秒。
题目保证所有的数据合法。
对于每个测试实例,输出A+B,每个输出结果也是由时分秒3部分组成,同时也要满足时间的规则(即:
分和秒的取值范围在0~59),每个输出占一行,并且所有的部分都可以用32位整数表示。
123456
344556122334
intn,a[3],b[3],i,j,k,m,s,f,l,t;
for(i=0;i{l=0;t=0;s=0;f=0;m=0;for(j=0;j<3;j++)cin>>a[j];for(k=0;k<3;k++)cin>>b[k];m=a[2]+b[2];if(m>60){m=m-60;t=1;}f=a[1]+b[1];if(t)f=f+1;if(f>60){l=1;f=f-60;}s=a[0]+b[0];if(l)s=s+1;cout<}return0;}算菜价TimeLimit:1000/1000MS(Java/Others)MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):2147AcceptedSubmission(s):1146ProblemDescription妈妈每天都要出去买菜,但是回来后,兜里的钱也懒得数一数,到底花了多少钱真是一笔糊涂帐。现在好了,作为好儿子(女儿)的你可以给她用程序算一下了,呵呵。Input输入含有一些数据组,每组数据包括菜种(字串),数量(计量单位不论,一律为double型数)和单价(double型数,表示人民币元数),因此,每组数据的菜价就是数量乘上单价啊。菜种、数量和单价之间都有空格隔开的。Output
l=0;t=0;s=0;f=0;m=0;
for(j=0;j<3;j++)
for(k=0;k<3;k++)
cin>>b[k];
m=a[2]+b[2];
if(m>60){m=m-60;t=1;}
f=a[1]+b[1];
if(t)f=f+1;
if(f>60){l=1;f=f-60;}
s=a[0]+b[0];
if(l)
s=s+1;
算菜价
2147AcceptedSubmission(s):
1146
妈妈每天都要出去买菜,但是回来后,兜里的钱也懒得数一数,到底花了多少钱真是一笔糊涂帐。
现在好了,作为好儿子(女儿)的你可以给她用程序算一下了,呵呵。
输入含有一些数据组,每组数据包括菜种(字串),数量(计量单位不论,一律为double型数)和单价(double型数,表示人民币元数),因此,每组数据的菜价就是数量乘上单价啊。
菜种、数量和单价之间都有空格隔开的。
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2