题目:给你一些积木碎片,每个碎片的两端只能是凸或凹(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;
}