#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