武林 HDU - 1107
题目链接: https://vjudge.net/problem/HDU-1107 注意:题目中只有两个不同门派的人在同一个地方才能对决,其他情况都不能对决。 还有,这步的有效的攻击只有走到下一步之后才生效,所以会出现样例1和样例2的情况。 代码有注释,便于理解,这理我说一下vis[][][]数组的用处。 vis[x][x][1] 表示少林寺人的编号。 vis[x][x][2] 表示武当派人的编号。 vis[x][x][3] 表示峨眉派人的编号。 vis[x][x][4] 表示一个门派是否有超过两个人。 1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 #include <algorithm> 5 #include <queue> 6 #include <map> 7 #include <cmath> 8 #include <iomanip> 9 using namespace std; 10 11 typedef long long LL; 12 #define inf (1LL << 25) 13 #define rep(i,j,k) for(int i = (j); i <= (k); i++) 14 #define rep__(i,j,k) for(int i = (j); i < (k); i