2008A
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[08年度-ACM-ICPC国内予選]]
***2008A [#i0a53608]
回答者:[[CISC]]&br;
所要時間:失念。ただし、17時は過ぎていた・・・&br;
予選時:クリア
いつもの通り、問題を読み間違えて、「これ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;
}
終了行:
[[08年度-ACM-ICPC国内予選]]
***2008A [#i0a53608]
回答者:[[CISC]]&br;
所要時間:失念。ただし、17時は過ぎていた・・・&br;
予選時:クリア
いつもの通り、問題を読み間違えて、「これ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;
}
ページ名: