题目大意是有一堆猴子,然后每个猴子都有自己喜欢的香蕉类型,然后香蕉会在指定的位置,问每个猴子能不能在每个地方吃到自己喜欢的香蕉。
其实直接暴力即可(因为最大最大最大是50)
上代码:
1 #include<stdio.h> 2 #include<string.h> 3 #include<algorithm> 4 using namespace std; 5 int a[2501][2]; 6 int b[2501][2]; 7 int c[51][5051]; 8 int n, m; 9 int main() 10 { 11 int T; 12 scanf("%d", &T); 13 while (T--) 14 { 15 memset(c, 0, sizeof(c)); 16 for (int i = 0; i<n; i++) scanf("%d%d", &a[i][0], &a[i][1]); 17 for (int i = 0; i<m; i++) scanf("%d%d", &b[i][0], &b[i][1]); 18 for (int i = 0; i<n; i++) 19 { 20 int k = a[i][0]; 21 for (int j = 0; j<m; j++) 22 { 23 if (b[j][0] == a[i][1]) c[k][b[j][1]] = 1; 24 } 25 } 26 for (int i = 1; i <= 50; i++) 27 { 28 for (int j = 1; j <= 5050; j++) 29 { 30 if (c[i][j] == 1) printf("%d %d ", i, j); 31 } 32 } 33 printf(" "); 34 } 35 return 0; 36 }