首页 > 代码库 > UVa 11586 - Train Tracks

UVa 11586 - Train Tracks

题目:给你一些积木碎片,每一个碎片的两端仅仅能是凸或凹(M或F)。凸凹可拼起来。是否能拼成一个环。

分析:图论。欧拉回路。推断入度等于出度就可以,即M和F同样且大于1组。

说明:╮(╯▽╰)╭。

#include <cstring>
#include <cstdio>

char buf[202];

int main()
{
	int n;
	while (~scanf("%d",&n)) {
		getchar();
		while (n --) {
			gets(buf);
			int m = 0,f = 0;
			for (int i = 0; buf[i]; ++ i) {
				if (buf[i] == ‘M‘) ++ m;
				if (buf[i] == ‘F‘) ++ f;
			}
			if (f == m && m > 1)
				puts("LOOP");
			else puts("NO LOOP");
		}
	}
    return 0;
}


UVa 11586 - Train Tracks