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