为了账号安全,请及时绑定邮箱和手机立即绑定

PAT甲级1142测试点2、3没有过

PAT甲级1142测试点2、3没有过

#include <iostream>#include<cstdio>#include<queue>#include<vector>#include<set>#include<algorithm>#include<map>#include<string>#include<cstring>using namespace std;//1142const int maxn = 210;int n, m, k, p, mmax, clique,mmin,sum;int G[maxn][maxn],node[maxn];int main() { memset(G, 0, sizeof(G)); cin >> n >> m; int a, b; for (int i = 0; i < m; i++) { cin >> a >> b; G[a][b] = 1; G[b][a] = 1; } cin >> k; for (int i = 0; i < k; i++) { memset(node, 0, sizeof(node)); mmax = 1, clique = 1; mmin = 999; cin >> p; for (int i = 0; i < p; i++) { cin >> node[i]; } for(int i=0;i<p;i++) for (int j = 0; j < p; j++) { if (i != j) { if (G[node[i]][node[j]] == 0) clique = 0; } } for (int i = 0; i < n; i++) { sum = 0; for (int j = 0; j < p; j++) if (G[i][node[j]] == 1) { sum++; if (sum == p) mmax = 0; } } if (mmax == 1 && clique == 1) cout << "Yes" << endl; else if (mmax == 0 && clique == 1) cout << "Not Maximal" << endl; else if (clique == 0) cout << "Not a Clique" << endl; }}
查看完整描述

2 回答

  • 2 回答
  • 0 关注
  • 941 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信