0086 - Patrol
#include <iostream> using namespace std; void Slove(void) { int a, b; while (cin >> a >> b) { int graph[100]={0}; while ( !(!a && !b) ) { ++graph[--a]; ++graph[--b]; cin >> a >> b; } bool flg=true; if ( !(graph[1]%2) || !(graph[1]%2) ) flg=false; for (int i=2; i<100; ++i) if (graph[i]%2) flg=false; cout << (flg? "OK" : "NG") << endl; } } int main(void) { Slove(); return 0; }
一筆書きで有名なケーニヒスベルクの橋を参考
始点と終点が奇数点で、他の地点が全て偶数点なら一筆書きが出来る。