読者です 読者をやめる 読者になる 読者になる

Volume5をうめたいなあ()

AOJ0532 説明略

#include <cstdio>
using namespace std;

int a, b, c, d, e, f, g, h, j;

int main(){
	for(int i = 0; i < 3; i++){
		scanf("%d %d %d %d %d %d", &a, &b, &c, &d, &e, &f);
		g = 3600 * (d - a) + 60 * (e - b) + (f - c);
		h = g / 3600;
		g %= 3600;
		j = g / 60;
		g %= 60;
		printf("%d %d %d\n", h, j, g);
	}
	return 0;
}

AOJ0543 略

#include <cstdio>
using namespace std;

int a[10];

int main(){
	while(scanf("%d", &a[0])){
		if(a[0] == 0) break;
		for(int i = 1; i < 10; i++){
			scanf("%d", &a[i]);
		}
		for(int i = 1; i< 10; i++){
			a[0] -= a[i];
		}
		printf("%d\n", a[0]);
	}
	return 0;
}

AOJ0544

#include <cstdio>
using namespace std;

int n, m, crt, ans;
int sugo[1000], sai[1000];

int main(){ 
	while(scanf("%d %d", &n, &m)){
		if(n == 0 && m == 0) break;
		crt = 0; ans = 0;
		for(int i = 0; i < n; i++)scanf("%d", &sugo[i]);
		for(int i = 0; i < m; i++) scanf("%d", &sai[i]);
		for(int i = 0; i < m; i++){
			ans++;
			crt += sai[i];
			crt += sugo[crt];
			if(crt >= n - 1) break;
		}
		printf("%d\n", ans);
	}
	return 0;
}

AOJ0545 もっと楽に書けるんだろうなあ..

#include <cstdio>
#include <vector>
#include <set>
using namespace std;

int n, m, ans;
int a, b;


int main(){
	while(scanf("%d %d", &n, &m), n || m){
		ans = 0;
		vector<int> mem[n + 1];
		set<int> frd;
		for(int i = 0; i < m; i++){
			scanf("%d %d", &a, &b); 
			mem[a].push_back(b);
			mem[b].push_back(a);
		}
		vector<int>::iterator it1;
		for(it1 = mem[1].begin(); it1 != mem[1].end(); it1++){
			frd.insert(*it1);
			vector<int>::iterator it2;
			for(it2 = mem[*it1].begin(); it2 != mem[*it1].end(); it2++){
				if(*it2 != 1)frd.insert(*it2);
			}
		}
		for(set<int>::iterator it = frd.begin(); it != frd.end(); it++){
			ans++;
		}
		printf("%d\n", ans);
	}
	return 0;
}

AOJ0566

#include <cstdio>
using namespace std;

int n;
int score[100], rank[100];

int main(){
	scanf("%d", &n);
	for(int i = 0; i < n * (n - 1) / 2; i++){
		int a, b, c, d;
		scanf("%d %d %d %d", &a, &b, &c, &d);
		a--;
		b--;
		if(c > d){
			score[a] += 3;
		}else if(c < d){
			score[b] += 3;
		}else{
			score[a]++; score[b]++;
		}
	}
	for(int i = 0; i < n; i++) rank[i] = 1;
	for(int i = 0; i < n; i++){
		for(int j = 0; j < n; j++){
			if(score[i] < score[j]) rank[i]++;
		}
	}
	for(int i = 0; i < n; i++) printf("%d\n", rank[i]);
	return 0;
}