wa到死!wa到死!这是一个看着简单,坑及其多的题!

坑一:POJ上是单组输入,九度上是多组输入,妈蛋要是研究生复试遇到这种大坑肯定死掉啊!而且对于codeforces比较习惯的

   同学肯定会觉得巨坑无比。

坑二:九度OJ上绝对有多余的空字符,什么getchar()都不要用,用cin输入跳过空格吧!POJ上是没问题的!

坑三:有很多特殊情况,如果算法不好的话,wa的概率是很大的,比如真的false coin没有出现在不等式中

先说一些共识:

(1)如果出现的是“=”式子,那么两边肯定都是合格的coin,而且false coin肯定不在这个等式里面;

(2)如果出现了不等式,即“<"或者”>"式子,那么可以肯定,在这些式子中肯定都存在一个false coin

(3)如果,一个硬币是false coin,在每个它出现的式子里,都是不等式,而且,要么它总在轻的一方,

    要么它总在重的一方但是这个题其坑无比的是,不能从这个角度想,因为给的数据可能根本没有逻

    辑,就是说,可能会有自相矛盾的数据,在这种情况下,他的逆命题有可能是真的,首先我们把出

    现在等式里的数字排除掉即如果每个不等式里某个数字都出现了,即出现次数等于不等式的个数并

    且它总是在重的一方,或者总是在轻的一方,那我们说,这个数字极有可能是false coin,但是还

    要统计一下,这样的数字是不是只有一个,如果有两个,或者没有,都没办法判断!

我的思路:对于能通过等式判断出相等的元素,用h【i】=1标记上,意味着false coin绝对不可能是这里面的数字,

对于不等式A[i] < B[i],设置一个light[i]数组,和一个heavy[i]数组,如果一个数出现在了轻的一边,就让light[i]++;

如果出现在了重的一边,就让heavy[i]++;对于一个false coin,要么他的heavy值等于不等式的个数cas,要么他的light值

等于cas,然后注意不要让ans重复就可以了。

#include <bits/stdc++.h>
using namespace std;
#define INF 0x3f3f3f3f
const int maxn = 1000+5;
int n,k,p;
int L[maxn],R[maxn];
int light[maxn],heavy[maxn];
int h[maxn];
char opt;
int cas;int main()
{while(cin >> n >> k){memset(light,0,sizeof(light));memset(heavy,0,sizeof(heavy));memset(h,0,sizeof(h));cas = 0;for(int t = 1;t <= k; ++t){cin >> p;for(int i = 1; i <= p; ++i)cin >> L[i];for(int i = 1; i <= p; ++i)cin >> R[i];cin >> opt;if(opt == '='){for(int i = 1; i <= p; ++i)h[L[i]] = h[R[i]] = 1;}else if(opt == '<'){cas++;for(int i = 1; i <= p; ++i){light[L[i]]++;heavy[R[i]]++;}}else{cas++;for(int i = 1; i <= p; ++i){heavy[L[i]]++;light[R[i]]++;}}}int cnt = 0,ans;for(int i = 1; i <= n; ++i){if(h[i]==0&&(light[i]==cas||heavy[i]==cas)){ans = i;cnt++;}}if(cnt!=1) printf("0\n");else printf("%d\n", ans);}
}

一些帮助大家debug的数据:

input:
3 2
1 1 2
<
1 2 3
<3 2
1 1 2
>
1 1 3
>5 1
2 1 2 3 4
=4 3
2 1 2 3 4
<
2 1 3 2 4
<
1 2 4
=5 3
2 1 3 2 4
>
2 3 5 2 4
>
1 1 4
>5 3
2 1 3 2 4
>
2 3 5 2 4
>
1 1 4
=output:0
1
5
1
4
0

转载于:https://www.cnblogs.com/Norlan/p/5422423.html

九度OJ1486 /POJ 1029/2012北京大学研究生复试上机相关推荐

  1. 浙大计算机复试上机成绩,浙大计算机研究生复试上机考试-2006年

    发指啊... 第一次快写完了结果傲游挂了... ...直接全部重来啊... ...OMG 这套比2005年的稍难, 不过基本都是小模拟啦, 对ACM菜鸟来说都是大水题~~ 1. 还是A+B 注意题目第 ...

  2. 北京大学计算机学院复试名单2021,北京大学研究生招生简章2021(北京大学研究生复试名单)...

    北大的研究生教育,从1917年的沙滩红楼研究所,到今天的湖滨研究生院,已经进行了近百年.她见证并经历了中国研究生教育从诞生到发展.调整.规范.扩张的全过程.北京大学的研究生教育可以追溯到20世纪初.1 ...

  3. 计算机学院机考,东华大学2015年计算机学院研究生复试上机考真题.docx

    2015年硕士学位研究生招生复试笔试试题 考试科目:C语言与数据结构算法上机测试 考试时间120分钟 注意事项: 1.源程序都在D:\TEST文件夹下,请先将该"test文件夹改名为 准考证 ...

  4. 计算机学院机考,东华大学计算机学院研究生复试上机考真题.doc

    2015年硕士学位研究生招生复试笔试试题 考试科目: C语言与数据结构算法上机测试 考试时间120分钟 注意事项: 1.源程序都在D:\TEST文件夹下,请先将该"TEST"文件夹 ...

  5. 已经有211大学发布计算机专业,研究生复试上机考试说明

    计算机考研复试中,很多大学都会选择机试作为考试形式.机试即是上机考试,在电脑上完成实体,一般都是编写程序,使用OJ系统判断结果. 列举几个常见的OJ,其他OJ还有很多很多,可以去网上找一下. Virt ...

  6. 华东师范2018研究生复试上机题题解

    3533. 庙会 假设在周末舞会上,男士们和女士们进入舞厅时,各自排成一队.跳舞开始时,依次从男队和女队的队头上各出一人配成舞伴.规定每个舞曲能有一对跳舞者.若两队初始人数不相同,则较长的那一队中未配 ...

  7. 1237-简单计算器【浙大计算机研究生复试上机考试-2006年】

    Problem Description: 读入一个只包含 +, -, *, / 的非负整数计算表达式,计算该表达式的值. Input: 测试输入包含若干测试用例,每个测试用例占一行,每行不超过200个 ...

  8. 动态规划 背包问题小结 0-1背包(采药 九度第101题) 完全背包(Piggy-Bank POJ 1384) 多重背包(珍惜现在,感恩生活 九度第103题)

    本小结介绍0-1背包.完全背包以及多重背包问题 记忆要点: 0-1背包:二维数组情况下,顺序遍历体积或者倒序均可以                降维情况下需倒序遍历体积 完全背包:数组降维+顺序遍历 ...

  9. Freckles - 九度 OJ 1144

    Freckles - 九度 OJ 1144 题目 时间限制:1 秒 内存限制:128 兆 特殊判题:否 题目描述: In an episode of the Dick Van Dyke show, l ...

最新文章

  1. hash 值重复_程序员:判断对象是否重复,不重写equals和hashcode不行吗?
  2. 干货 | 只有100个标记数据,如何精确分类400万用户评论?
  3. GraphQL学习过程应该是这样的
  4. android 键盘搜索按钮不收起键盘,android EditText 实现搜索框点击搜索隐藏键盘
  5. java用什么编译器_用大白话告诉你,Java到底是什么
  6. 面向对象 - 1.面向过程/2.面向对象/3.如何使用类/4.__init__方法/5.属性查找/6.补充知识/7.可扩展性高...
  7. 图网络中的社群及社群发现算法
  8. Product description search in opportunity line item
  9. asp.net mvc 地址栏传输信息报错:window.location.pathname
  10. c语言除法的编译,怎样代替除法指令
  11. QTableView的表格项中加入图标的方法
  12. L1-040 最萌情侣身高差
  13. springMVC Model ModelMap 和 ModelAndView的区别
  14. 【Matlab故障诊断分析】BP神经网络三相逆变器故障诊断研究【含源码 1736期】
  15. 冬季华丽回潮 试着搭配毛茸茸皮草
  16. 自定义ckeditor图片上传插件
  17. Matlab Robitic Toolbox学习笔记Day2
  18. 解决UIScrollView截获touch事件的一个极其简单有效的办法
  19. linux java.library.path,设置java.library.path的值(Mac/Linux/Windows)
  20. 拼图软件那个好用?好用的拼图软件分享

热门文章

  1. c语言main函数的参数argc,argv说明
  2. Ph.D Grind 阅读感想 By 张雄
  3. creo减速器建模实例_3.16减速器箱体附件建模
  4. C++ 运算符优先级
  5. 开源GIS库GDAL/GEOS在Windows下的编译与 Codeblocks配置
  6. datetime建立索引有用吗_超全的数据库建表、SQL、索引规范
  7. 快速获取csv数量_【数量技术宅|数据爬虫系列分享】如何获取免费的数字货币历史数据...
  8. 如何利用火狐获取网址中的提交链接
  9. 使用dwebsocket在Django中使用Websocket
  10. 【前端面试题】关于一些js的一些面试题(金融行业),我和面试官扯了三个小时