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 件のコメント:
コメントを投稿