**
B. Bear and Friendship Condition
**
题意:给一个顶点和边不超过15W的图,问你这个图的所有连通分量是不是一个完全子图(if the graph is a set of disjoint cliques),对此,我们只需要对所有连通分量跑一下DFS,看看每个连通分量中的边数和顶点数是不是满足完全子图的关系就可以了
cnt_edges != (long long) cnt_vertices * (cnt_vertices - 1)
#include <bits/stdc++.h>
#define _ ios_base::sync_with_stdio(0);cin.tie(0);
#define INF 0x3f3f3f3f
#define eps 1e-5
typedef long long LL;
const double pi = acos(-1.0);
const long long mod = 25 * 1E8;
using namespace std;
const int nax = 150005;
vector<int> edges[nax];
bool vis[nax];
void dfs(int a, int & cnt_vertices, int & cnt_edges) {
assert(!vis[a]);
vis[a] = true;
++cnt_vertices;
cnt_edges += edges[a].size();
for(int i = 0;i < edges[a].size();i++)
if(!vis[edges[a][i]])
dfs(edges[a][i], cnt_vertices, cnt_edges);
/*
for(int b : edges[a])
if(!vis[b])
dfs(b, cnt_vertices, cnt_edges);
*/
}
int main()
{
//freopen("input.txt","r",stdin);
//freopen("output.txt","w",stdout);
ios_base::sync_with_stdio(0);cin.tie(0);
int n, m;
scanf("%d%d", &n, &m);
while(m--) {
int a, b;
scanf("%d%d", &a, &b);
edges[a].push_back(b);
edges[b].push_back(a);
}
for(int i = 1; i <= n; ++i)
if(!vis[i]) {
int cnt_vertices = 0, cnt_edges = 0;
dfs(i, cnt_vertices, cnt_edges);
if(cnt_edges != (long long) cnt_vertices * (cnt_vertices - 1)) {
puts("NO");
return 0;
}
}
puts("YES");
return 0;
}
**
C. Bear and Different Names
**
#include <bits/stdc++.h>
#define _ ios_base::sync_with_stdio(0);cin.tie(0);
#define INF 0x3f3f3f3f
#define eps 1e-5
typedef long long LL;
const double pi = acos(-1.0);
const long long mod = 25 * 1E8;
using namespace std;
const int nax = 150005;
string s1[105],s2[105];
int main()
{
//freopen("input.txt","r",stdin);
//freopen("output.txt","w",stdout);
ios_base::sync_with_stdio(0);cin.tie(0);
int n, m;
cin >> n >> m;
for(int i = 0;i < n - m + 1;i++)
cin >> s1[i];
for(int i = 0;i < 52;i++)
{
s2[i] = "Aa";
s2[i][0] += i / 26;
s2[i][1] += i % 26;
}
for(int i = 0;i < n - m + 1;i++)
if(s1[i] == "NO")
s2[i + m - 1] = s2[i];
for(int i = 0;i < n - 1;i++)
cout << s2[i] << ' ' ;
cout << s2[n - 1] << endl;
return 0;
}