概述
Dashboard - 2017 Benelux Algorithm Programming Contest (BAPC 17) - Codeforces
总所周知
只要是我提供了思路就可以算是我过的题
虽然但是代码不是我写的
没事我脸皮厚
拿来水一下应该没事吧
给一个数字n
然后是n*n的表格
横i竖j
i==j时为s[i][j]==x
i赢j s[i][j]==1
j赢i s[i][j]==0
求一串队列a
代表擂台赛赛顺序
a[1]和a[2]比,赢的和a[3]比,以此类推
问如何使比赛结束后的擂主是0
构造题,令0在末位,按照输赢关系构造有向图,dfs,如果能遍历全局则有解,如果不能则无解
#include <iostream>
#include <vector>
using namespace std;
const int N = 1010;
vector<int> res;
char g[N][N];
int n;
bool vis[N], flag;
void dfs(int u)
{
vis[u] = true;
if(res.size() == n)
{
flag = true;
return ;
}
for(int i = 1; i < n; i++)
{
if(!vis[i] && g[u][i] == '1')
{
dfs(i);
}
}
res.push_back(u);
}
int main()
{
cin >> n;
for(int i = 0; i < n; i++)
for(int j = 0; j < n; j++)
cin >> g[i][j];
dfs(0);
if(res.size() < n) cout << "impossible";
else
{
for(int i = 0; i < n; i++) cout << res[i] << " ";
}
cout << endl;
return 0;
}
最后
以上就是等待画板为你收集整理的cf (K) King of the Waves的全部内容,希望文章能够帮你解决cf (K) King of the Waves所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复