COCI2014/2015CONTEST #3 dom
来源:互联网 发布:龙魂时刻数据解析失败 编辑:程序博客网 时间:2024/05/18 00:48
有n个人看电视,m个台,当前电视在p台。每个人有一个喜欢的台和讨厌的台。如果当前的台有人讨厌的话,则讨厌这个台的人里面最靠前的一个人会把这个台调成自己最喜欢的。问把这个台调成所有人都不讨厌的一个台要调多少次,如果无法满足,输出-1
考试的时候粗心了,在特判的时候本来应该输出调台的次数,结果弄成了是哪个台,晕死,检查代码的时候应该再细心一点。
保存讨厌台i的人最靠前的一个,然后模拟,出现循环节就输出-1。
#include<cstdio>using namespace std;int n,m,p,cnt;int a[100010][2];int fr[100010];bool dislike[100010];bool vis[100010];int main(){//freopen("tv.in","r",stdin);//freopen("tv.out","w",stdout);scanf("%d%d%d",&n,&m,&p);for(int i = 1; i <= n; i++){scanf("%d%d",&a[i][0],&a[i][1]);dislike[a[i][1]] = 1;}bool flag = 1;for(int i = 1; i <= m; i++)if(!dislike[i]) flag = 0;if(flag){printf("-1\n");return 0;}if(!dislike[p]){printf("0\n");//就是这里写成P了,QAQreturn 0;}for(int i = 1; i <= n; i++){if(!fr[a[i][1]]) fr[a[i][1]] = i;}while(1){if(!dislike[p]){printf("%d\n",cnt);return 0;}int i = fr[p];vis[p] = 1;cnt++;p = a[i][0];if(vis[p]){printf("-1\n");return 0;}}printf("-1\n");return 0;}
0 0
- COCI2014/2015CONTEST #3 dom
- COCI2014/2015CONTEST #3 kamioni
- COCI2014/2015CONTEST #3 honi&stogovi(LCA)
- 模拟赛心得体会&COCI2014/2015CONTEST #3 silueta&strojopis
- COCI2014 dom
- 模拟赛心得体会&COCI2014/2015CONTEST #1
- COCI2014/2015 Contest#2 F Solution
- 2017.5.17 COCI2014/2015 Contest#5
- coci2014 contest#1 T5-zabavz—— dp
- coci2014 contest#1 T3-PIRAMIDA—— 数学
- COCI CONTEST #3 29.11.2014 DOM
- COCI CONTEST #3 29.11.2014 T2 DOM
- 【jzoj3919】【COCI2014/2015 Round1 KAMP】【志愿者】【树形动态规划】
- COCI2014 stogovi
- COCI2014 COCI
- COCI2014 KAMIONI
- COCI2014 PROSJEK
- COCI2014 KLOPKA
- COCI模拟考试心得体会
- 3307 背包,次优解
- testlink使用流程
- windows平台安装scrapy框架
- 找出以下代码中的错误
- COCI2014/2015CONTEST #3 dom
- NOI 1997 积木游戏 (COGS 261) DP
- hdu 1005 Number Sequence(找规律)
- MFC RS232串口通信
- C++ 内存池 -- C++ Memory Pool
- 提高
- x86, x86-64, i386, IA32, IA64 区别
- JavaScript-函数,类,数组
- android aapt