编程介的小学生 2017-08-31 11:55 采纳率: 20.5%
浏览 704
已采纳

QS Parliament

On a mystery island lives a tribe. What we only know about it is that the name of the resident on this island is QS. Recently, we payed attention to a special local activity among these QS's (pl.). They have an organization just like our parliament, each QS has its own power in the tribe, and no two QS's have the same power. To denote the power, each QS will gets a metal-card with a number on it, the less the number is, the bigger the power it denotes.
When a new year is coming, all QS's will fight for a better metal-card (with a less number). At first, each QS will get a random metal-card among all cards (with the number 1 to N). Then, there will be several rounds of fight to adjust the distribution. In each round, they will select two numbers A and B (range from 1 to N), and the current owners of these two numbers will fight with each other. Then the stronger QS will get the less number, on the contrary the weaker one will get the bigger one. Assume that there will be no draw.

Now, our question is that, after the adjusting, whether they can be assured that all the QS's will get their appropriate positions. It means that no such situation occurs: one QS is stronger than another but gets a bigger number finally.

Input

There are several test cases.

In each test case, the first line will contains two positive numbers N (1 <= N <= 15), M (M <= 500). N is the number of QS's, M is the number of fight rounds.

Each of the following M lines contains two numbers Ai and Bi, which define the numbers in this round.

Process to the end of input.

Output

For each test case, print "YES" if the adjusting is ok for any situation, otherwise "NO".

Sample Input

3 3
1 2
1 3
2 3

3 3
1 2
2 3
1 3

Sample Output

YES
NO

Note:

Let's take the second sample input to explain why it is not ok.

Assume the three QS's : QS1 QS2 QS3, and QS3 is stronger than QS2, QS2 is stronger than QS1. And at first QS1 gets the metal-card with number 1 on, QS2 gets 2, QS3 gets 3.

original distribution: QS1[No.1 card] QS2[No.2 card] QS3[No.3 card]

Round 1:

card : No.1 card <> No.2 card
QS : QS1 <> QS2
result: QS2 wins this round and gets No.1 card, QS1 gets No.2 card
distribution: QS1[No.2 card] QS2[No.1 card] QS3[No.3 card]

Round 2:

card : No.2 card <> No.3 card
QS : QS1 <> QS3
result: QS3 wins this round and gets No.2 card, QS1 gets No.3 card
distribution: QS1[No.3 card] QS2[No.1 card] QS3[No.2 card]

Round 3:

card : No.1 card <> No.3 card
QS : QS2 <> QS1
result: QS2 wins this round and gets No.1 card, QS1 gets No.3 card
final distribution: QS1[No.3 card] QS2[No.1 card] QS3[No.2 card]

QS3 is stronger than QS2, but gets a worse card finally, so this adjusting is not ok for the situation we assumed above.

  • 写回答

1条回答 默认 最新

  • threenewbee 2017-09-15 15:45
    关注
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 怎么获取下面的: glove_word2id.json和 glove_numpy.npy 这两个文件
  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 牛顿斯科特系数表表示
  • ¥15 arduino 步进电机
  • ¥20 程序进入HardFault_Handler
  • ¥15 oracle集群安装出bug