#269(div2) B. MUH and Important Things

Posted 早知如此绊人心,何如当初莫相识。

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了#269(div2) B. MUH and Important Things相关的知识,希望对你有一定的参考价值。

题意:有n个数字,代表第i个的难度为a[i],问是否有三种不同的序列使得难度从低到高

思路:那么难度相同的对肯定要>=2,然后瞎搞,嗯,瞎搞就行了

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 struct node
 4 {
 5     int x;
 6     int wei;
 7 }a[2003];
 8 bool cmp(node p,node q)
 9 {
10     return p.x<q.x;
11 }
12 int main()
13 {
14     int n;
15     scanf("%d",&n);
16     for(int i=1;i<=n;i++)
17     {
18         scanf("%d",&a[i].x);
19         a[i].wei=i;
20     }
21     sort(a+1,a+1+n,cmp);
22     int s=1;
23     for(int i=2;i<=n;i++)
24     {
25         if(a[i].x==a[i-1].x)
26             s++;
27     }
28     if(s<=2)
29     {
30         printf("NO\n");
31     }
32     else
33     {
34         int y;
35         printf("YES\n");
36         for(int i=1;i<=n;i++)
37         {
38             printf("%d ",a[i].wei);
39         }
40         printf("\n");
41         for(int i=2;i<=n;i++)
42         {
43             if(a[i].x==a[i-1].x)
44             {
45                 y=i;
46                 swap(a[i],a[i-1]);
47             }
48         }
49          for(int i=1;i<=n;i++)
50         {
51             printf("%d ",a[i].wei);
52         }  printf("\n");
53          for(int i=y;i<=n;i++)
54         {
55             if(a[i].x==a[i-1].x)
56             {
57                 y=i;
58                 swap(a[i],a[i-1]);
59             }
60         }
61          for(int i=1;i<=n;i++)
62         {
63             printf("%d ",a[i].wei);
64         }  printf("\n");
65     }
66     return 0;
67 }

 

以上是关于#269(div2) B. MUH and Important Things的主要内容,如果未能解决你的问题,请参考以下文章

#269(div2) C. MUH and House of Cards

CF #738(div2)B. Mocha and Red and Blue(构造)

#421(div2)B. Mister B and Angle in Polygon

#419(div2) B. Karen and Coffee

CF #737(div2)B. Moamen and k-subarrays,贪心,下标

Codeforces #637 div2 B. Nastya and Door