P1088 火星人
Posted misuchii
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了P1088 火星人相关的知识,希望对你有一定的参考价值。
这里用到了一个特别神奇的函数 STL里面algorithm头文件的一个函数 next_permutation() 返回给定范围中的元素组成的下一个按字典序的排列 即就是直接按照题意进下一个
AC代码:
1 #include<bits/stdc++.h> 2 #define pi acos(-1) 3 typedef long long ll; 4 typedef unsigned long long ull; 5 using namespace std; 6 7 namespace io 8 const int SIZE = 1e7 + 10; 9 char inbuff[SIZE]; 10 char *l, *r; 11 inline void init() 12 l = inbuff; 13 r = inbuff + fread(inbuff, 1, SIZE, stdin); 14 15 inline char gc() 16 if (l == r) init(); 17 return (l != r) ? *(l++) : EOF; 18 19 void read(int &x) 20 x = 0; char ch = gc(); 21 while(!isdigit(ch)) ch = gc(); 22 while(isdigit(ch)) x = x * 10 + ch - ‘0‘, ch = gc(); 23 24 using io::read; 25 26 bool cmp(const int &a, const int &b) 27 return a > b; 28 29 30 int main() 31 ios::sync_with_stdio(false); 32 int n, m; 33 cin>>n>>m; 34 int a[10005]; 35 memset(a, 0, sizeof(a)); 36 for (int i = 1; i <= n; i++) cin>>a[i]; 37 while (m--) next_permutation(a + 1, a + n + 1); 38 for (int i = 1; i < n; i++) cout<<a[i]<<‘ ‘; 39 cout<<a[n]<<endl; 40 return 0; 41
以上是关于P1088 火星人的主要内容,如果未能解决你的问题,请参考以下文章
华为OD机试 - 火星文计算 2(Python)| 真题+思路+代码
华为OD机试 - 火星文计算2(JS)| 真题+思路++考点+代码