1.得点 AOJ0510
#include<iostream>
#include<algorithm>
using namespace std;
int main(){
int A = 0, B = 0, in;
for(int i = 0; i < 4; i++, A += in) cin >> in;
for(int i = 0; i < 4; i++, B += in) cin >> in;
cout << max( A, B) << endl;
}
足して比べるだけ(小並感)2.未提出者は誰だ
#include<iostream>
using namespace std;
int main(){
bool ok[31] = {};
for(int i = 0, in; i < 28; i++){
cin >> in;
ok[in] = true;
}
for(int i = 1; i < 30; i++){
if(!ok[i]) cout << i << endl;
}
}
やるだけ。シーザー暗号
#include<iostream>
#include<string>
using namespace std;
int main(){
string str;
cin >> str;
for(int i = 0; i < str.size(); i++){
cout << (char)((str[i] - 'A' + 23) % 26 + 'A');
}
cout << endl;
}
ちょっと迷ったけど気にせず出力。
カードの並べ替え
#include<iostream>
using namespace std;
int main(){
int n, m, k, card[200], next[200];
cin >> n >> m;
for(int i = 0; i < 2*n; i++) card[i] = i + 1;
while(m--){
cin >> k;
if(!k){ //リシャッフル
for(int i = 0; i < n; i++){
next[i*2] = card[i];
next[i*2+1] = card[n+i];
}
}else{ //カット
for(int i = 0; i < k; i++) next[i+2*n-k] = card[i];
for(int i = k; i < 2*n; i++) next[i-k] = card[i];
}
for(int i = 0; i < 2*n; i++) card[i] = next[i];
}
for(int i = 0; i < 2*n; i++) cout << card[i] << endl;
}
眠くなってきたのでちょっとバグらせた。やるだけ。
品質検査
#include<iostream>
#include<algorithm>
using namespace std;
int main(){
int a, b, c, N , data[1000][4], flg[301] , cnt;
while(cin >> a >> b >> c , a+b+c){
fill_n(flg,301,2), cnt = 0;
cin >> N;
for(int i = 0; i < N; i++, cnt++){
for(int j = 0; j < 4; j++) cin >> data[cnt][j];
if(data[cnt][3]){
for(int j = 0; j < 3; j++) flg[data[cnt][j]] = 1;
cnt--;
}
}
for(int i = 0; i < cnt; i++) for(int j = 0; j < 3; j++){
if(flg[data[i][j]] == 1 && flg[data[i][(j+1)%3]] == 1){
flg[data[i][(j+2)%3]] = 0;
}
}
for(int i = 1; i <= a+b+c; i++) cout << flg[i] << endl;
}
}
貪欲法。2つ正常ならもう1つは故障。寝る。
0 件のコメント:
コメントを投稿