1、三角形判断
2、部分排序
3、字符串查找
4、世界杯排名
6、温度转换
7、计算球体重量
8、 阶梯电价计费
9、 计算某月天数
10、计算整数各位数字之和
11、完数
12、最大公约数
14、递归数列
16、歌德巴赫猜想
18、回文数
19、排序2
20、拼数字
21、马鞍点
22、等差数列
23、寻找最长的行
24、字符串压缩
25、括号匹配
29、处理字符串
30、输出两个带分数的差
32、一元稀疏多项式计算器
45、拼数字并排序
46、0-1矩阵
123、进入复赛
136、分数化小数
140、矩阵相乘
142、转换排序
145、单词统计
151、单词排序
155、成绩处理
156、大数相加
157、元素放置
#include
int main()
{
int a,b,c,C;
scanf("%d %d %d",&a,&b,&c);
C=a+b+c;
(((a+b>c)&&(a+c>b))&&(b+c>a))==1?printf("%d",C):printf("No");
return 0;
}
#include
int main()
{
int num[1000],i,j,m,n,trans;
scanf("%d %d",&m,&n);
for(i=0;i<m;i++) scanf("%d",&num[i]);
for(i=0;i<m;i++)
{
for(j=0;j<m-1;j++)
{
if(num[j]<num[j+1])
{
trans=num[j];
num[j]=num[j+1];
num[j+1]=trans;
}
}
}
if(m>n) for(i=0;i<n;i++) printf("%d ",num[i]);
if(m<=n) for(i=0;i<m;i++) printf("%d ",num[i]);
}
#include
int main()
{
char a[26],b[256],ch;
int i,j,m,a1,b1,time=0;
gets(a);
gets(b);
for(ch=97;ch<=122;ch++)
{
a1=0;b1=0;
for(i=0;i<=26;i++)
{
if(ch==a[i]) a1=1;
}
for(i=0;i<=256;i++)
{
if(ch==b[i]) b1=1;
}
if(a1+b1==2)
{
printf("%c ",ch);
time++;
}
}
if(time==0) printf("No");
}
#include
struct info
{
char name[20];
int win,tie,lose,jq,sq,jf,jsq;
} ;
struct info trans;
int main()
{
int m,n;
scanf("%d %d",&n,&m);
void input(struct info t[],int n);
void output(struct info t[],int m);
void sort(struct info t[],int n);
struct info t[32],*p=t;
input(p,n);
sort(p,n);
output(p,m);
return 0;
}
void input(struct info t[],int n)
{
int i;
for(i=0;i<n;i++)
{
scanf("%s %d %d %d %d %d",&t[i].name,&t[i].win,&t[i].tie,&t[i].lose,&t[i].jq,&t[i].sq);
t[i].jf=t[i].win*3+t[i].tie;
t[i].jsq=t[i].jq-t[i].sq;
}
}
void sort(struct info t[],int n)
{
int i,j,k;
for(k=0;k<n-1;k++)
{
for(i=0;i<n-1;i++)
{
for(j=0;j<n-1;j++)
{
if(t[j].jf<t[j+1].jf)
{
trans=t[j];
t[j]=t[j+1];
t[j+1]=trans;
}
}
}
}
for(i=0;i<n;i++)
{
for(j=0;j<n-1;j++)
{
if(t[j].jf==t[j+1].jf&&t[j].jsq<t[j+1].jsq)
{
trans=t[j];
t[j]=t[j+1];
t[j+1]=trans;
}
}
}
}
void output(struct info t[],int m)
{
int i;
for(i=0;i<m;i++) printf("%d %s %d %d\n",i+1,t[i].name,t[i].win*3+t[i].tie,t[i].jsq);
}
#include
int main()
{
int f;
float c;
scanf("%d",&f);
c=(f-32)*5/9.0;
printf("%.2f",c);
return 0;
}
#include
double Ag(double v)
{
double m;
m=19.3*v;
return m;
}
double Fe(double v)
{
double m;
m=7.86*v;
return m;
}
int main()
{
double d1,d2,v1,v2;
scanf("%lf %lf",&d1,&d2);
v1=3.1415926*d1*d1*d1/6000;
v2=3.1415926*d2*d2*d2/6000;
printf("%.3lf %.3lf\n",Fe(v1),Ag(v2));
return 0;
}
#include
int main()
{
float a,ans;
scanf("%f",&a);
if (a<=110) ans=a*0.5;
else if (a>110&&a<=210) ans=55+(a-110)*0.55;
else if (a>210) ans=110+(a-210)*0.70;
printf("%.2f",ans);
}
#include
int main()
{
int y,m,d,leap;
scanf("%d %d",&y,&m);
if(m==1||m==3||m==5||m==7||m==8||m==10||m==12)
{
d=31;
printf("%d",d);
}
else if(m==4||m==6||m==9||m==11)
{
d=30;
printf("%d",d);
}
else if(m==2)
{
if((y%4==0&&y%100!=0)||y%400==0)
{
d=29;
printf("%d",d);
}
else
{
d=28;
printf("%d",d);
}
}
}
#include
int main()
{
int a,sum=0;
scanf("%d",&a);
while(a>=1)
{
sum+=a%10;
a=(a-a%10)/10;
}
printf("%d\n",sum);
return 0;
}
#include
int main()
{
int a,b,num1,num2,i=0;
scanf("%d %d",&a,&b);
for (num1=a;num1<=b;num1++)
{
i=0;
for (num2=1;num2<num1;num2=++)
{
if (num1%num2==0) i=i+num2;
}
if(i==num1&&i!=1) printf("%d\n",i);
}
return 0;
}
#include
#include
int main()
{
int m,n,nummax,nummin;
scanf("%d %d",&m,&n);
while(m!=0||n!=0)
{
nummax=m;
for(nummax=m;nummax>=1;nummax--)
{
if((m%nummax==0)&&(n%nummax==0))
{
printf("%d\n",nummax);
break;
}
}
scanf("%d %d",&m,&n);
}
return 0;
}
#include
double fun(int i)
{
if(i==1) return 1;
else return 1/(1+fun(i-1));
}
int main()
{
int a,i,ans;
scanf("%d",&a);
for(i=0;i<a;i++)
{
scanf("%d",&ans);
printf("%.6lf\n",fun(ans));
}
}
#include
void exec(int num)
{
int i;
for(i=2;i<num;i++)
{
if(isprime(i)+isprime(num-i)==0)
{
printf("%d %d\n",i,num-i);
break;
}
}
}
int isprime(int a)
{
int i,ans=1;
for(i=2;i<a;i++) ans=ans*(a%i);
if (ans==0) return 1;
else return 0;
}
int main()
{
int time,a,i;
scanf("%d",&time);
for(i=1;i<=time;i++)
{
scanf("%d",&a);
exec(a);
}
return 0;
}
//18
#include
#include
int main()
{
int time,t,sum=0,i,len,num,a,d,reverse;
scanf("%d",&time);
for(i=1;i<=time;i++)
{
scanf("%d",&a);
num=a;
len=0;
sum=0;
reverse=0;
while(num>=1)
{
num/=10;
len++;
}
reverse=0;
num=a;
for (t=1;t<=len;t++)
{
d=num%10;
num=(num-d)/10;
reverse=reverse*10+d;
}
num=a;
if(reverse==a)
{
while(num>=1)
{
sum+=num%10;
num=(num-num%10)/10;
}
printf("%d\n",sum);
}
if (reverse!=a) printf("no\n");
}
return 0;
}
#include
int main()
{
int scanNum,i,j,t,trans,num2=0;
scanf("%d",&scanNum);
int a[100];
for (i=0;i<100;i++) scanf("%d",&a[i]);
for(j=0;j<100;j++)
{
for (i=0;i<100;i++)
{
trans=0;
if (a[i]<=a[i+1]) //switch
{
trans=a[i+1];
a[i+1]=a[i];
a[i]=trans;
}
}
}
for (i=0;i<100;i++) if (a[i]%2==0) printf("%d ",a[i]);
for (i=0;i<100;i++) if (a[i]%2!=0) printf("%d ",a[i]);
printf("\n");
return 0;
}
#include
#include
int pnum(int a)// 0=prime//functional
{
long ans=1;
int i=2;
while(i<a)
{
ans=a%i;
i++;
if(ans==0) break;
}
if(ans!=0||a==0) return 0;
else return 1;
}
void exe(int a)
{
int i;
if (pnum(a)==1)
{
for(i=a-1;i>=2;i--)
{
if(a%i==0)
{
printf("%d\n",i);
break;
}
}
}
else printf("%d\n",a);
}
int main()
{
int a,num=0,i;
char c[100];
while(1)
{
gets(c);
if(strlen(c)==0) break;
num=0;
for(i=0;i<=strlen(c);i++)
{
if(c[i]<='9'&&c[i]>='0')
{
num*=10;
num+=c[i]-'0';
}
}
exe(num);
}
return 0;
}
#include
int isMin(int *p,int i,int m)
{
int min=*p,t,ans1=0;
for(t=0;t<m;t++)
{
if(*(p-i+t)<min)
{
return 0;
ans1=1;
}
}
if(ans1==0)
{
return 1;
}
}
int isMax(int *p,int i,int n)
{
int max=*p,f,ans=0;
for(f=0;f<n;f++)
{
if(*(p-100*i+100*f)>max)
{
return 0;
ans=1;
}
}
if(ans==0)
{
return 1;
}
}
int main()
{
int a[100][100],*p=a;
int m,n;
int i,j;
int ans=0;
scanf("%d %d",&m,&n);
for(i=0;i<m;i++) for(j=0;j<n;j++) scanf("%d",&a[i][j]);
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
if(isMin(p+100*i+j,j,n)==1&&isMax(p+100*i+j,i,m)==1)
{
ans=1;
printf("%d %d %d\n",i,j,*(p+100*i+j));
}
}
}
if(ans==0) printf("no\n");
}
#include
int main()
{
int num[100];
int time,len,i,j,k,ans=1,trans;
scanf("%d",&time);
for(i=0;i<time;i++)
{
scanf("%d",&len);
for(j=0;j<len;j++) scanf("%d",&num[j]);
for(j=0;j<len;j++)
{
for(k=0;k<len;k++)
{
if(num[k]>num[k+1])
{
trans=num[k];
num[k]=num[k+1];
num[k+1]=trans;
}
}
}
for(j=0;j<len-2;j++)
{
if(num[j+1]*2!=num[j]+num[j+2])
{
printf("no\n");
ans=0;
break;
}
}
if(ans==1&&num[1]-num[0]>=0) printf("%d\n",num[1]-num[0]);
if(ans==1&&num[1]-num[0]<0) printf("%d\n",num[0]-num[1]);
ans=1;
}
return 0;
}
#include
#include
int main(){
int m,n=0;char a[100],b[100];
while(strcmp(gets(a),"***end***")!=0)
{
m=strlen(a);
if(m>n){
n=m;strcpy(b,a);}
if(m=n);
}
printf("%d\n%s\n",n,b);
return 0;
}
#include
#include
int main()
{
char a[50];
int i,j,len,s;
gets(a);
len=strlen(a);
while(i<=len)
{
if (a[i]>=48&&a[i]<=57) i++;
if (a[i]>=48&&a[i]<=57) i++;
printf("%c",a[i]);
if(a[i+1]>=48&&a[i+1]<=57)
{
s=(int)(a[i+1])-49;
for(j=0;j<s;j++) printf("%c",a[i]);
}
if((a[i+2]>=48&&a[i+2]<=57)&&(a[i+1]>=48&&a[i+1]<=57))
{
s=((int)(a[i+1])-48)*9+(int)(a[i+2])-48;
for(j=0;j<s;j++) printf("%c",a[i]);
}
s=0;
i++;
}
}
#include
#include
//inspired by LiuYing
int ctra(int a)
{
if(a<=0) return a;
if(a>0) return a+1;
}
int tra(char *p)
{
if(*p=='(') return 1;
else if(*p==')') return -1;
else if(*p=='[') return 3;
else if(*p==']') return -3;
else if(*p=='{') return 5;
else if(*p=='}') return -5;
else return 0;
}
int seek(char*p,int begin,int end)
{
int i,j,ans=0,re=1,num=0,cans=0;
for(i=begin;i<end;i++)
{
ans+=tra(p+i);
cans+=ctra(tra(p+i));
}
if(ans==0&&cans!=0)
{
for(i=begin;i<=end;i++)
{
if(tra(p+i)>0)
{
re=0;num++;
for(j=i;j<=end;j++)
{
if(tra(p+j)+tra(p+i)==0)
{
return seek(p,i+1,j);
re=1;
break;
}
if(tra(p+j)<0&&tra(p+j)+tra(p+i)!=0)
{
return 1;
break;
}
}
if(re==0)
{
return 1;
break;
}
}
}
}
else if(ans==0&&cans==0) return 1;
else return 0;//ans!=0
}
int main()
{
char c[50],*p=c;
int i,ans=0,num,len;
while(1)
{
gets(c);
len=strlen(c);
if(len==0) break;
else if(seek(p,0,len)==0) printf("no\n");
else if(seek(p,0,len)==1) printf("yes\n");
}
return 0;
}
#include
#include
int main()
{
char c[100],a[100],b[100];
char trans,key;
int i,j,num,t;
key=getchar();
for(i=0;i<100;i++)
{
c[i]=0;
a[i]=0;
b[i]=0;
}
gets(c);
for(i=0;i<99;i++)
{
if(c[i]>key)
{
a[j]=c[i];
j++;
}
}
for(i=0;i<99;i++)
{
if(c[i]<=key)
{
b[t]=c[i];
t++;
}
}
for(i=0;i<strlen(b);i++)
{
for(j=0;j<strlen(b)-1;j++)
{
if(b[j]>b[j+1])
{
trans=b[j];
b[j]=b[j+1];
b[j+1]=trans;
}
}
}
printf("%s%c%s",a,key,b);
}
#include
long max(long m,long n)
{
int i;
for(i=m;i>=1;i--)
{
if(m%i==0&&n%i==0)
{
return i;
break;
}
}
}
int main()
{
int num1,num2,fz1,fz2,fm1,fm2;
long anum=0,afz,afm;
int i,num;
scanf("%d[%d/%d],%d[%d/%d]",&num1,&fz1,&fm1,&num2,&fz2,&fm2);
printf("%d[%d/%d]-%d[%d/%d]=",num1,fz1,fm1,num2,fz2,fm2);
fz1=fz1+fm1*num1;
fz2=fz2+fm2*num2;
afm=fm1*fm2;
afz=fz1*fm2-fz2*fm1;
if (afz==0) printf("0");
else
{
if(afz>0) num=max(afm,afz);
else num=max(afm,-afz);
afz=afz/num;
afm=afm/num;
anum=afz/afm;
afz=afz%afm;
if(afz<0) afz*=-1;
printf("%d[%d/%d]",anum,afz,afm);
}
}
#include
int main()
{
int a[1000],b[1000],c[1000],rea[10],reb[10],rec[10];
int time,nowtime=0,n,m,t;//t=0+,t=1-
int i,j,re;
int num1,num2,flag;
scanf("%d",&time);
while(nowtime!=time)
{
scanf("%d %d %d",&m,&n,&t);
for(i=0;i<1000;i++)
{
a[i]=0;b[i]=0;c[i]=0;
}
flag=0;re=0;
for(i=0;i<2*m;i+=2)
{
scanf("%d %d",&num1,&num2);
if(num2<0)
{
re=1;
rea[-num2]=num1;
}
else a[num2]=num1;
}
for(i=0;i<2*n;i+=2)
{
scanf("%d %d",&num1,&num2);
if(num2<0)
{
re=1;
reb[-num2]=num1;
}
else b[num2]=num1;
}
if(t==1) for(i=0;i<1000;i++) c[i]=a[i]-b[i];
else for(i=0;i<1000;i++) c[i]=a[i]+b[i];
if(t==1) for(i=0;i<10;i++) rec[i]=rea[i]-reb[i];
else for(i=0;i<10;i++) rec[i]=rea[i]-reb[i];
if(re==1) for(i=0;i<10;i++)
{
if(rec[i]!=0) printf("%dx^%d",rec[i],-i);
}
for(i=0;i<300;i++)
{
if(c[i]!=0&&flag!=-1)
{
flag=i;
break;
}
}
if(flag!=0)
{
if(c[flag]!=1&&flag==1&&c[flag]!=-1) printf("%dx",c[flag]);
if(c[flag]!=1&&flag!=1&&c[flag]!=-1) printf("%dx^%d",c[flag],flag);
if(c[flag]==1&&flag!=1) printf("x^%d",flag);
if(c[flag]==1&&flag==1) printf("x");
if(c[flag]==-1&&flag!=1) printf("-x^%d",flag);
if(c[flag]==-1&&flag==1) printf("-x");
}
if(flag==0) printf("%d",c[0]);
for(i=flag+1;i<1000;i++)
{
if(c[i]!=0)
{
if(i!=1&&c[i]==1) printf("+x^%d",i);
if(i!=1&&c[i]>0&&c[i]!=1) printf("+%dx^%d",c[i],i);
if(i!=1&&c[i]<0&&c[i]!=-1) printf("%dx^%d",c[i],i);
if(i==1&&c[i]==1) printf("+x");
if(i==1&&c[i]>0&&c[i]!=1) printf("+%dx",c[i]);
if(i==1&&c[i]<0&&c[i]!=-1) printf("%dx",c[i]);
if(i==1&&c[i]==-1) printf("-x");
if(i!=1&&c[i]==-1) printf("-x^%d",i);
}
}
nowtime++;
printf("\n");
}
return 0;
}
#include
#include
int isnum(char *p)
{
if(*p<='9'&&*p>='0') return 1;
else return 0;
}
int main()
{
char str[101],*p=str;
int flage,flagb;
int i,j,t,k=0,trans,ju=0;
long long num[40],sum;
gets(str);
t=0;
for(i=0;i<strlen(str);i++)
{
if(isnum(p+i)==1)
{
flagb=i;
for(j=i;j<strlen(str);j++)
{
ju=0;
if(isnum(p+j)==0)
{
flage=j-1;
ju=1;
break;
}
}
if(ju==0) flage=strlen(str)-1;
sum=0;
for(t=flagb;t<=flage;t++)
{
sum*=10;
sum+=str[t]-'0';
}
num[k]=sum;
k++;
i=flage;
}
}
for(i=0;i<k;i++)
{
for(j=0;j<=k-2;j++)
{
if(num[j]<num[j+1])
{
trans=num[j];
num[j]=num[j+1];
num[j+1]=trans;
}
}
}
for(i=0;i<k;i++) printf("%lld ",num[i]);
}
#include
int main()
{
int num[100][100],*p=num;
int m,n,i,j,sum=0;
int flagb,flage,max,maxb,maxe;
scanf("%d %d",&n,&m);
for(j=0;j<n;j++) for(i=0;i<m;i++) scanf("%d",&num[j][i]);
for(j=0;j<n;j++)
{
sum=0; max=0;
flagb=0; flage=0;
maxb=0; maxe=0;
for(i=0;i<m;i++) sum+=num[j][i];
if(sum==0) printf("-1 -1\n");
else
{
if(num[j][0]==1)
{
flagb=-1;
maxb=-1;
}
for(i=flagb;i<m;i++)
{
if(*(p+100*j+i)==0)
{
flage=i;
if(max<flage-flagb)
{
max=flage-flagb;
maxb=flagb;
maxe=flage;
}
flagb=flage;
}
}
if(num[j][m-1]==1)
{
flage=m;
if(flage-flagb>max)
{
maxb=flagb;
maxe=flage;
}
}
printf("%d %d\n",maxb+1,maxe-1);
}
}
}
#include
struct info
{
int name,a,b,c,tot,min;
} ;
struct info trans;
int eva(int a,int b,int c)
{
int ans,max=a,min=mini(a,b,c);
if (max100) return 1;
else return 0;
}
int mini(int a,int b,int c)
{
int ans=a;
if (ans>b) ans=b;
if (ans>c) ans=c;
return ans;
}
int main()
{
int m;
scanf("%d",&m);
void input(struct info t[],int m);
void output(struct info t[],int m);
void sort(struct info t[],int m);
struct info t[100],*p=t;
input(p,m);
sort(p,m);
output(p,m);
return 0;
}
void input(struct info t[],int m)
{
int i;
for(i=0;it[j+1].name)
{
trans=t[j];
t[j]=t[j+1];
t[j+1]=trans;
}
}
}
}
void output(struct info t[],int m)
{
int i,rate=1;
for(i=0;i=400)
{
printf("%d %d %d %d %d %d\n",rate,t[i].name,t[i].tot,t[i].a,t[i].b,t[i].c);
rate++;
}
}
}
#include
int main()
{
double a,b;
int c;
scanf("%lf %lf %d",&a,&b,&c);
printf("%.*lf\n",c,a/b);
return 0;
}
#include
int main()
{
int a[2][3],b[3][2],c[2][2];
int i,j;
for(j=0;j<2;j++) for(i=0;i<3;i++) scanf("%d",&a[j][i]);
for(j=0;j<3;j++) for(i=0;i<2;i++) scanf("%d",&b[j][i]);
for(j=0;j<2;j++)
{
for(i=0;i<3;i++) printf("%5d",a[j][i]);
printf("\n");
}
for(j=0;j<3;j++)
{
for(i=0;i<2;i++) printf("%5d",b[j][i]);
printf("\n");
}
c[0][0]=a[0][0]*b[0][0]+a[0][1]*b[1][0]+a[0][2]*b[2][0];
c[1][0]=a[1][0]*b[0][0]+a[1][1]*b[1][0]+a[1][2]*b[2][0];
c[0][1]=a[0][0]*b[0][1]+a[0][1]*b[1][1]+a[0][2]*b[2][1];
c[1][1]=a[1][0]*b[0][1]+a[1][1]*b[1][1]+a[1][2]*b[2][1];
printf("%5d %5d\n",c[0][0],c[0][1]);
printf("%5d %5d",c[1][0],c[1][1]);
}
#include
int main()
{
char str[80],trans;
int i,j,k,q,ans;
gets(str);
for(i=0;i<80;i++)
{
if(str[i]>='a'&&str[i]<='z') str[i]-=32;
}
for(i=0;i<80;i++)
{
for(j=0;j<80;j++)
{
if (str[j]>='A'&&str[j]<='Z')
{
for(q=j;q<80;q++)
{
if (str[q]<=str[j]&&str[q]>='A')
{
trans=str[q];
str[q]=str[j];
str[j]=trans;
}
}
}
}
}
printf("%s",str);
return 0;
}
#include
#include
int main()
{
char m[100],word[9];
int i,j,ans,counts=0,flag;
gets(m);
gets(word);
for(i=0;i<strlen(m);i++)
{
for(j=i;j<strlen(m);j++)
{
if(m[j]==' ')
{
flag=j;
break;
}
if(flag<j) flag=strlen(m);
}
ans=1;
for(j=i;j<flag;j++)
{
if(m[j]!=word[j-i])
{
ans=0;
break;
}
}
if(strlen(word)!=flag-i) ans=0;
if(ans==1) counts++;
i=flag;
}
printf("%s %d",word,counts);
return 0;
}
#include
#include
int main()
{
char str[10][20],*p=str,trans[20];
int n,i,j,t;
scanf("%d",&n);
for(i=0;i<n;i++) scanf("%s",str[i]);
for(i=0;i<n;i++)
{
for(j=0;j<n-1;j++)
{
if(strcmp(str[j],str[j+1])>0)
{
for(t=0;t<20;t++) trans[t]=str[j][t];
for(t=0;t<20;t++) str[j][t]=str[j+1][t];
for(t=0;t<20;t++) str[j+1][t]=trans[t];
}
}
}
for(i=0;i<n;i++)
{
puts(str[i]);
printf("\n");
}
}
#include
void well(float *p)
{
int i,j;
int ans=0;
int avernum=0,weltem=0;
for(i=0;i<5;i++)
{
avernum=0;
weltem=0;
for(j=0;j<4;j++)
{
avernum+=*(p+j+4*i);
if(*(p+j+4*i)>=85) weltem++;
}
if(avernum/4>=90||weltem==4) ans++;
}
printf("%d ",ans);
}
void aver(float *p)
{
int i;
float ans=0;
for(i=0;i<5;i++) ans+=*(p+i*4);
printf("%.1f ",ans/5);
}
void fal(float *p)
{
int i,j,ans=0,faltem=0;
for(i=0;i<5;i++)
{
faltem=0;
for(j=0;j<4;j++) if(*(p+j+4*i)<60) faltem++;
if(faltem>=2) ans++;
}
printf("%d ",ans);
}
int main()
{
float stu[5][4];
int i,j;
for(i=0;i<5;i++) for(j=0;j<4;j++) scanf("%f",&stu[i][j]);
aver(stu);
fal(stu);
well(stu);
}
#include
#include
int main()
{
int i,j,lena,lenb,delta,max,num;
char a[30],b[30],c[50],ans[50],*p;
for(i=0;i<200;i++) c[i]='\0';
scanf("%d %d",&lena,&lenb);
scanf("%s",&a);
scanf("%s",&b);
delta=lena-lenb;
max=strlen(a);
if(delta<0)
{
delta=-delta;
max=strlen(b);
}
for(i=0;i<delta;i++) c[i]='0';
if(lena>lenb) strcat(c,b);
if(lena<lenb) strcat(c,a);
if(lena>lenb&&delta!=0)
{
for(i=0;c[i];i++) ans[i]=a[i]+c[i]-'0';
num=strlen(a);
}
if(lena<lenb&&delta!=0)
{
for(i=0;c[i];i++) ans[i]=b[i]+c[i]-'0';
num=strlen(b);
}
if(delta==0)
{
for(i=0;a[i];i++) ans[i]=a[i]+b[i]-'0';
num=strlen(a);
}
while(num>0)
{
if(ans[num]>'9'&&num!=0)
{
ans[num]-=10;
ans[num-1]++;
}
if(ans[0]>'9')
{
ans[0]-=10;
printf("1");
}
num--;
}
for(i=0;ans[i];i++) printf("%c",ans[i]);
}
#include
void sort(int *p,int m,int n)
{
int i,j,trans;
for(i=0;i<m*n;i++)
{
for(j=0;j<m*n-1;j++)
{
if(*(p+j)>*(p+j+1))
{
trans=*(p+j);
*(p+j)=*(p+j+1);
*(p+j+1)=trans;
}
}
}
}
void output(int *p,int m,int n)
{
int i=1,j,line=1;
while(line!=n)
{
if(line%2==1)for(i=line*m-1;i>=(line-1)*m;i--) printf("%3d",*(p+i));
if(line%2==0)for(i=(line-1)*m;i<=line*m-1;i++) printf("%3d",*(p+i));
line++;
printf("\n");
}
if(line%2==1)for(i=line*m-1;i>=(line-1)*m;i--) printf("%3d",*(p+i));
if(line%2==0)for(i=(line-1)*m;i<=line*m-1;i++) printf("%3d",*(p+i));
}
int main()
{
int num[50],*p=num;
int m,n;
int i,len;
scanf("%d %d",&m,&n);
len=m*n;
for(i=0;i<len;i++) scanf("%d",&num[i]);
sort(p,m,n);
output(p,n,m);
return 0;
}