#include<stdio.h>
#include<vector>
#include<algorithm>
using namespace std;
struct Node
{
int x,y;
} p;
bool cmp(Node a,Node b)
{
if(a.x<b.x)return true;
if(a.x==b.x&&a.y<b.y)return true;
return false;
}
vector<Node>ve;
int main()
{
int n,m;
int x,y,flag;
int i,j;
while(scanf("%d",&n)!=EOF)
{
flag=;
ve.clear();
m=n;
n=n*(n-)/;
for(i=; i<n; i++)
{
scanf("%d-%d",&x,&y);
if(flag)
{
if(x==y)
{
flag=;
}
else if(x>y)
{
p.x=y;
p.y=x;
ve.push_back(p);
}
else
{
p.x=x;
p.y=y;
ve.push_back(p);
}
} }
if(flag)
{
int k=;
sort(ve.begin(),ve.end(),cmp);
for(i=; i<m; i++)
{
if(flag)
for(j=i+; j<=m; j++)
{
if(i!=ve[k].x||j!=ve[k].y)
{
flag=;
break;
}
k++;
}
else break;
}
}
if(flag)printf("Yes\n");
else printf("No\n");
}
return ;
}
#include<iostream>
#include<string.h>
#include<cstdio> using namespace std;
int flag[][];
int main()
{ int i,j;
int n,a,b; char str[]; while(scanf("%d",&n)!=EOF)
{ memset(flag,,sizeof(flag));
int tag=; for(i=;i<n;i++)
{
for(j=;j<=n/;j++)
{
cin>>str;
sscanf(str,"%d-%d",&a,&b);
if(flag[a][b]==||flag[b][a]==||a==b)
{
tag=;
}
flag[a][]++;
flag[b][]++;
flag[a][b]=;
flag[b][a]=;
}
}
if(tag)
printf("No\n");
else
{
int tag1=;
for(i=;i<=n;i++)
{
if(flag[i][]!=n-)
{
tag1=;
printf("No\n");
break;
}
}
if(!tag1)
printf("Yes\n");
}
}
return ;
}

都WA了,疑惑不解啊!!!

题意问题!!!!!!!??

正确理解方式:

  每一行的输入是每只队伍比赛且仅比赛一次;

  所有输入的组合是赛事安排的所有可选解

正解:

#include<stdio.h>
#include<string.h>
int flag[][];
int hang[];
int main()
{ int i,j;
int n,a,b; char str[]; while(scanf("%d",&n)!=EOF)
{ memset(flag,,sizeof(flag));
int tag=; for(i=;i<n;i++)
{
memset(hang,,sizeof(hang));
for(j=;j<=n/;j++)
{
//cin>>str;
scanf("%d-%d",&a,&b);
if(flag[a][b]==||flag[b][a]==||a==b)
{
tag=;
}
hang[a]++;
hang[b]++;
flag[a][]++;
flag[b][]++;
flag[a][b]=;
flag[b][a]=;
}
for(j=;j<=n;j++)
{
if(hang[j]!=)
{
tag=;
break;
}
}
}
if(tag)
printf("No\n");
else
{
int tag1=;
for(i=;i<=n;i++)
{
if(flag[i][]!=n-)
{
tag1=;
printf("No\n");
break;
}
}
if(!tag1)
printf("Yes\n");
}
}
return ;
}
#include<stdio.h>
#include<string.h>
#include<vector>
#include<algorithm>
using namespace std;
struct Node
{
int x,y;
} p;
bool cmp(Node a,Node b)
{
if(a.x<b.x)return true;
if(a.x==b.x&&a.y<b.y)return true;
return false;
}
vector<Node>ve;
int hang[2010];
int main()
{
int n;
int x,y,flag;
int i,j;
while(scanf("%d",&n)!=EOF)
{
flag=1;
ve.clear();
for(i=1; i<n; i++)
{
memset(hang,0,sizeof(hang));
for(j=1; j<=n/2; j++)
{
scanf("%d-%d",&x,&y);
hang[x]++;
hang[y]++;
if(flag)
{
if(x==y)
{
flag=0;
}
else if(x>y)
{
p.x=y;
p.y=x;
ve.push_back(p);
}
else
{
p.x=x;
p.y=y;
ve.push_back(p);
}
}
}
for(j=1;j<=n/2;j++)
{
if(hang[j]!=1)
{
flag=0;
break;
}
}
}
if(flag)
{
int k=0;
sort(ve.begin(),ve.end(),cmp);
for(i=1; i<n; i++)
{
if(flag)
for(j=i+1; j<=n; j++)
{
if(i!=ve[k].x||j!=ve[k].y)
{
flag=0;
break;
}
k++;
}
else break;
}
}
if(flag)printf("Yes\n");
else printf("No\n");
}
return 0;
}

最新文章

  1. 上网八个常用cmd命令你掌握了几个?
  2. android 开发项目笔记1
  3. 关于delphi点击webbrowser中任意一点的问题
  4. 学习mongo系列(二) 新建数据库,collection ,insert(),save()
  5. 在Linux用libcurl.a在链接的时候出错
  6. Linux(Redhat)下redis安装
  7. JAVA 理解封装的概念,private私有的,public公有的
  8. vnext 技术两篇文章和评论
  9. BeanDefinitionRegistry extends AliasRegistry
  10. case class inheritance
  11. Logger之Logger.getLogger(CLass)
  12. hadoop笔记之MapReduce的应用案例(利用MapReduce进行排序)
  13. return view详解(转载)
  14. js与DOM初步:访问html元素
  15. 判断客户端使用的是安卓还是苹果,然后加载对应的css文件
  16. 如何在ADO中使用数据读取器(DataReader)读取数据
  17. PyQt5速成教程
  18. 题外话:我想立刻辞职,然后闭关学习编程语言,我给自己3个月时间学习C语言!这样行的通吗
  19. maven加速镜像
  20. IT小小鸟的读后感

热门文章

  1. Layout Support 获取上下bar的长度
  2. C#取枚举描述
  3. PB中掉用Run以后,等Run的程序关闭以后才会执行后边的语句
  4. KinectStudio使用教程
  5. MDI窗体 的再度思考
  6. 基于.net mvc的校友录(三、实体模型实现)
  7. android 开发Parcelable 怎么传值ArrayList
  8. Hibernate内存溢出分析一例
  9. IIS和MVC
  10. Ionic 安装部署