誤った手形ブルーブリッジカップ
1641 ワード
ある秘密関係部門はある手形を発行し、年末にすべて回収しなければならない.
各手形には一意のID番号があります.年間全手形のID番号は連続していますが、IDの開始番号はランダムに選択されています.
スタッフの不注意により、ID番号の入力中にエラーが発生し、あるIDが切れ、もう一つのIDが重複しました.
あなたの任務はプログラミングを通じて、ブレーク番号のIDと重い番号のIDを見つけることです.
最大サイズと最小サイズでは、ブレーク番号が発生しないと仮定します.
要求プログラムは、まず、後のデータ行数を表す整数N(N<100)を入力する.
次にN行データを読み込む.
各行のデータ長は等しくなく、スペースで区切られた複数(100個未満)の正の整数(100000未満)です.
各整数はID番号を表します.
プログラムは1行を出力し、2つの整数m nを含み、スペースで区切る必要がある.
但し、mはブレークID、nは重ID
例:
ユーザー入力:
2
5 6 8 11 9
10 12 9
プログラム出力:
7 9
次に例を示します.
ユーザー入力:
6
164 178 108 109 180 155 141 159 104 182 179 118 137 184 115 124 125 129 168 196
172 189 127 107 112 192 103 131 133 169 158
128 102 110 148 139 157 140 195 197
185 152 135 106 123 173 122 136 174 191 145 116 151 143 175 120 161 134 162 190
149 138 142 146 199 126 165 156 153 193 144 166 170 121 171 132 101 194 187 188
113 130 176 154 177 120 117 150 114 183 186 181 100 163 160 167 147 198 111 119
プログラム出力:
105 120
各手形には一意のID番号があります.年間全手形のID番号は連続していますが、IDの開始番号はランダムに選択されています.
スタッフの不注意により、ID番号の入力中にエラーが発生し、あるIDが切れ、もう一つのIDが重複しました.
あなたの任務はプログラミングを通じて、ブレーク番号のIDと重い番号のIDを見つけることです.
最大サイズと最小サイズでは、ブレーク番号が発生しないと仮定します.
要求プログラムは、まず、後のデータ行数を表す整数N(N<100)を入力する.
次にN行データを読み込む.
各行のデータ長は等しくなく、スペースで区切られた複数(100個未満)の正の整数(100000未満)です.
各整数はID番号を表します.
プログラムは1行を出力し、2つの整数m nを含み、スペースで区切る必要がある.
但し、mはブレークID、nは重ID
例:
ユーザー入力:
2
5 6 8 11 9
10 12 9
プログラム出力:
7 9
次に例を示します.
ユーザー入力:
6
164 178 108 109 180 155 141 159 104 182 179 118 137 184 115 124 125 129 168 196
172 189 127 107 112 192 103 131 133 169 158
128 102 110 148 139 157 140 195 197
185 152 135 106 123 173 122 136 174 191 145 116 151 143 175 120 161 134 162 190
149 138 142 146 199 126 165 156 153 193 144 166 170 121 171 132 101 194 187 188
113 130 176 154 177 120 117 150 114 183 186 181 100 163 160 167 147 198 111 119
プログラム出力:
105 120
# include<cstdio>
# include<iostream>
# include<cstring>
using namespace std;
int a[100000]={0};
int main()
{
memset(a,0,sizeof(a));
int n,t;
char c;
cin>>n;
while(--n)
{
while(1)
{
scanf("%d%c",&t,&c);
a[t]++;
if(c!=' ')
break;
}
}
int i;
for(i=0;;i++) //
{
if(a[i]==1)
break;
}
int j;
for(j=i;;j++)//
{
if(a[j]==0)
{
printf("%d ",j);
break;
}
}
for(j=i;;j++)
{
if(a[j]==2)
{
printf("%d
",j);
break;
}
}
return 0;
}