2008A †回答者:CISC いつもの通り、問題を読み間違えて、「これA問?」と思ってしまったのは秘密。 #include <stdio.h> #include <stdlib.h> int tCard[101],hCard[101]; int tCardf[101],hCardf[101]; int n,m; int tSum,hSum; int i,j; int sa,flg=0; int temp,wa,iTemp,jTemp; int main() { FILE *in,*out; in=fopen("input.txt","r"); out=fopen("output.txt","w"); while(1) { fscanf(in,"%d %d",&n,&m); printf("\n%d %d\n",n,m); if(n==0 && m==0) { break; } for(i=0,tSum=0;i<n;i++) { fscanf(in,"%d",&tCard[i]); printf("%d\n",tCard[i]); tSum+=tCard[i]; //tCardf[i]=0; } for(i=0,hSum=0;i<m;i++) { fscanf(in,"%d",&hCard[i]); printf("%d\n",hCard[i]); hSum+=hCard[i]; //hCardf[i]=0; } flg=0; wa=999999; printf("\n%d %d\n",tSum,hSum); for(i=0;i<n;i++) { for(j=i+1;j<n;j++) { if(tCard[i]<tCard[j]) { temp=tCard[i]; tCard[i]=tCard[j]; tCard[j]=temp; } } } for(i=0;i<m-1;i++) { for(j=i+1;j<m;j++) { if(hCard[i]<hCard[j]) { temp=hCard[i]; hCard[i]=hCard[j]; hCard[j]=temp; } } } for(i=0;i<n;i++) { for(j=0;j<m;j++) { if(tSum-tCard[i]+hCard[j] == hSum-hCard[j]+tCard[i])// { if(wa>tCard[i]+hCard[j]) { wa=tCard[i]+hCard[j]; iTemp=i; jTemp=j; } flg=1; } } } if(flg==0) { fprintf(out,"-1\n"); } else { fprintf(out,"%d %d\n",tCard[iTemp],hCard[jTemp]); } } fclose(in); fclose(out); return 0; } |