博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
食物链(待解决)
阅读量:6327 次
发布时间:2019-06-22

本文共 1271 字,大约阅读时间需要 4 分钟。

食物链

Description
动物王国中有三类动物A,B,C,这三类动物的食物链构成了有趣的环形。A吃B, B吃C,C吃A。 
现有N个动物,以1-N编号。每个动物都是A,B,C中的一种,但是我们并不知道它到底是哪一种。 
有人用两种说法对这N个动物所构成的食物链关系进行描述: 
第一种说法是"1 X Y",表示X和Y是同类。 
第二种说法是"2 X Y",表示X吃Y。 
此人对N个动物,用上述两种说法,一句接一句地说出K句话,这K句话有的是真的,有的是假的。当一句话满足下列三条之一时,这句话就是假话,否则就是真话。 
1) 当前的话与前面的某些真的话冲突,就是假话; 
2) 当前的话中X或Y比N大,就是假话; 
3) 当前的话表示X吃X,就是假话。 
你的任务是根据给定的N(1 <= N <= 50,000)和K句话(0 <= K <= 100,000),输出假话的总数。 
Input
第一行是两个整数N和K,以一个空格分隔。 
以下K行每行是三个正整数 D,X,Y,两数之间用一个空格隔开,其中D表示说法的种类。 
若D=1,则表示X和Y是同类。 
若D=2,则表示X吃Y。
Output
只有一个整数,表示假话的数目。
Sample Input
100 7
1 101 1 
2 1 2
2 2 3 
2 3 3 
1 1 3 
2 3 1 
1 5 5
Sample Output
3
 
#include
using namespace std;class animalword{public: int ID; int X; int Y; animalword(){}; animalword(int i,int j,int k){ ID=i; X=j; Y=k;} ~animalword(){} bool judge(int N){ if((X>N)||(Y>N)) return false; else return true; }};struct True_Word{ int X; int Y; int judge;};int main(){ int N,K; cout<<"input the number of animal and true words:"<
>N>>K; cout<
>id>>x>>y; word[i].ID=id; word[i].X=x; word[i].Y=y; } cout<<"the inputed data is:"<

如何存储食物链的信息 应该是把所有物种分类后才能识别这些信息,但是如何存储目前还没有想的好的办法 

转载地址:http://ikgaa.baihongyu.com/

你可能感兴趣的文章
Ajax无刷新提交表单和显示
查看>>
CSS透明度设置支持IE,Chrome,Firefox浏览器
查看>>
Android之——短信的备份与还原
查看>>
select sum也会返回null值
查看>>
P1034 矩形覆盖
查看>>
Uva - 12050 Palindrome Numbers【数论】
查看>>
Java第三次作业
查看>>
【HDOJ 3652】B-number
查看>>
android代码混淆笔记
查看>>
Codeforces Round #423 (Div. 2, rated, based on VK Cup Finals) C. String Reconstruction 并查集
查看>>
BMP文件的读取与显示
查看>>
Flash文字效果
查看>>
各种排序算法总结篇(高速/堆/希尔/归并)
查看>>
使用c#訪问Access数据库时,提示找不到可安装的 ISAM
查看>>
cocos2d JS 自定义事件分发器(接收与传递数据) eventManager
查看>>
thinkPHP 模板的使用技巧(十三)
查看>>
简简单单搞掂恼人的Laravel 5安装
查看>>
.NET 即时通信,WebSocket服务端实例
查看>>
清除与清空节点
查看>>
BZOJ 1174: [Balkan2007]Toponyms
查看>>