杭电ACM2100,26进制那道题,写好了自己测试没问题,但是交上去总是超时或者输出超出,不知道为什么。求解
#include<cstdio>#include<cstring>constintMAX=201;intmain(){chara[MAX]={0},b[MAX]={0};...
#include <cstdio>
#include <cstring>
const int MAX = 201;
int main()
{
char a[MAX]={0},b[MAX]={0};
while(scanf("%s%s",a+1,b+1)){
b[0]=a[0]='A';
int La = strlen(a+1);
int Lb = strlen(b+1);
char *c = (La>=Lb)?a:b;
char *d = (La>=Lb)?b:a;
int Lc = strlen(c+1);
int Ld = strlen(d+1);
for(int i=Lc,j = Ld;i>0&&j>0;i--,j--){
if(c[i]==0)c[i]='A';
if(d[j]==0)d[j]='A';
c[i]+=d[j];
c[i]-=65;
if(c[i]>90){
c[i]-=26;
c[i-1]++;
}
}
if(c[0]==0)c[0]='A';
for(int i=0;i<MAX-1;i++){
if(c[i]=='A'&&c[i+1]!=0)continue;
printf("%s\n",c+i);
break;
}
memset(a,0,MAX);
memset(b,0,MAX);
}
return 0;
} 展开
#include <cstring>
const int MAX = 201;
int main()
{
char a[MAX]={0},b[MAX]={0};
while(scanf("%s%s",a+1,b+1)){
b[0]=a[0]='A';
int La = strlen(a+1);
int Lb = strlen(b+1);
char *c = (La>=Lb)?a:b;
char *d = (La>=Lb)?b:a;
int Lc = strlen(c+1);
int Ld = strlen(d+1);
for(int i=Lc,j = Ld;i>0&&j>0;i--,j--){
if(c[i]==0)c[i]='A';
if(d[j]==0)d[j]='A';
c[i]+=d[j];
c[i]-=65;
if(c[i]>90){
c[i]-=26;
c[i-1]++;
}
}
if(c[0]==0)c[0]='A';
for(int i=0;i<MAX-1;i++){
if(c[i]=='A'&&c[i+1]!=0)continue;
printf("%s\n",c+i);
break;
}
memset(a,0,MAX);
memset(b,0,MAX);
}
return 0;
} 展开
展开全部
给你敲代码。。
敲好了。
用G++提交。。
#include<stdio.h>
#include<algorithm>
using namespace std;
int a[2000008];
int main()
{
int n,m;
int i;
int count;
while(scanf("%d%d",&n,&m),n||m)
{
for(i=0;i<n;i++)
scanf("%d",&a[i]);
for(;i<n+m;i++)
scanf("%d",&a[i]);
sort(a,a+n+m);
count=0;
for(i=1;i<n+m;i++)
if(a[i]==a[i-1])
count++;
printf("%d\n",count);
}
return 0;
}
敲好了。
用G++提交。。
#include<stdio.h>
#include<algorithm>
using namespace std;
int a[2000008];
int main()
{
int n,m;
int i;
int count;
while(scanf("%d%d",&n,&m),n||m)
{
for(i=0;i<n;i++)
scanf("%d",&a[i]);
for(;i<n+m;i++)
scanf("%d",&a[i]);
sort(a,a+n+m);
count=0;
for(i=1;i<n+m;i++)
if(a[i]==a[i-1])
count++;
printf("%d\n",count);
}
return 0;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询