AOJ Problem 0086 : Patrol

404 Not Found

もろ始点・終点が決まったケーニヒスベルクの橋渡りだった。

注意しなきゃいけないのはスタートまたはゴールから伸びている辺の数が1本以外のケースもあるということ。

適当実装

#include <iostream>
using namespace std;
int main(){
	int a,b;
	while(1){
		a=-1;
		int data[100]={0};
		while(cin >> a >> b && a || b){
			a--;b--;
			data[a]++;
			data[b]++;
		}
		if(a==-1)return 0;

		bool flag = false;
		/*スタート・ゴールが奇数点じゃない時点で試合終了*/
		if(data[0]%2==0 || data[1]%2==0)flag = true;
		for(int i=2;i<100;i++){
			/*スタートとゴール以外に奇数点があれば*/
			if(data[i]%2==1 && data[i]){
				flag = true;
			}
		}
		cout << (flag?"NG":"OK") << endl;
	}
}