纪念一次蠢到爆的
a
b
c
abc
abc,题目传送门
可能太久没打了吧,总之就是非常蠢,c题求的是图的同构,刚开始就觉得只是个
n
p
np
np问题但是复杂度很低,用暴力一定能出来,但是一时间就想不到怎么暴力,就用最容易想到的方法,把图的入度对应,结果只有一个测试点
w
a
wa
wa,想着随机数一下运气好就过了,结果
a
b
c
abc
abc半分钟只能提交一次,我傻傻的在那提交了两页还是没过,由于思维惰性也没去想暴力的事,最后计算了一下随机化过的概率微乎其微,蠢到家了。其实这题一个全排列能做的事,也太久没用就没去想,应以为戒,比赛还是不能停,全想着靠队友那根本就什么时都做不成,为了下半年的天梯赛,浙江省赛,区域赛,这点水平是远远不够的,还得把自己的思维磨砺更敏锐一点才行,也不要依赖随机数过题,毕竟是灰色战术。
代码:
#include <bits/stdc++.h>
using namespace std;
int p[9] = {0, 1, 2, 3, 4, 5, 6, 7, 8};
int n, m, g[10][10], h[10][10];
signed main() {
cin >> n >> m;
for(int i = 1, x, y; i <= m; i ++) cin >> x >> y, g[x][y] = g[y][x] = true;
for(int i = 1, x, y; i <= m; i ++) cin >> x >> y, h[x][y] = h[y][x] = true;
do {
int f = 1;
for(int i = 1; i <= n && f; i ++)
for(int j = 1; j <= n && f; j ++)
if(g[i][j] ^ h[p[i]][p[j]]) f = 0;
if(f) {
puts("Yes");
return 0;
}
} while(next_permutation(p + 1, p + n + 1));
puts("No");
}