JOI 2006-2007 予選 問題・データ
1. 得点 AOJ 0510 Score
404 Not Found
#include <cstdio>
#include <algorithm>
using namespace std;
int main()
{
int A = 0, B = 0;
for(int i = 0, t; i < 4; i++)
scanf("%d\n", &t), A += t;
for(int i = 0, t; i < 4; i++)
scanf("%d\n", &t), B += t;
printf("%d\n", max(A, B));
}
2. 未提出者は誰だ AOJ 0511 Who Are The Student Yet To Submit
404 Not Found
#include <cstdio>
#include <set>
using namespace std;
int main()
{
set<int> se;
for(int i = 1; i <= 30; i++) se.insert(i);
for(int i = 0, t; i < 28; i++)
scanf("%d\n", &t), se.erase(t);
for(set<int>::iterator it = se.begin(); it != se.end(); it++)
printf("%d\n", *it);
return 0;
}
3. シーザー暗号AOJ 0512 Caesar Cipher
404 Not Found
#include <iostream>
#include <string>
using namespace std;
int main()
{
string s;
cin>>s;
for(string::iterator it = s.begin(); it != s.end(); it++){
char c = *it - 'D' + 'A';
if(c < 'A') c = c - 'A' + 'Z' + 1;
cout<<c;
}
cout<<endl;
return 0;
}
4. カードの並び替え AOJ 0513 Shuffle The Cards
404 Not Found
#include <cstdio>
#include <vector>
using namespace std;
inline vector<int> shuffle(vector<int>& v){
vector<int> w;
int n = v.size() / 2;
for(int i = 0; i < n; i++){
w.push_back(v[i]);
w.push_back(v[i + n]);
}
return w;
}
inline vector<int> cut(vector<int>& v, int k){
vector<int> w;
for(int i = k; i < v.size(); i++)
w.push_back(v[i]);
for(int i = 0; i < k; i++)
w.push_back(v[i]);
return w;
}
int main(){
int n, m;
scanf("%d\n%d\n", &n, &m);
vector<int> v(2 * n);
for(int i = 0; i < 2 * n; i++) v[i] = i + 1;
for(int i = 0; i < m; i++){
int k;
scanf("%d\n", &k);
if(k == 0){
v = shuffle(v);
}else{
v = cut(v, k);
}
}
for(int i = 0; i < v.size(); i++){
printf("%d\n", v[i]);
}
return 0;
}