1. 枚举按字典序最小排列开始,不停调用“求下一个排列 ”的方法,STL中提供了一个next_permutation.
next_permutation(p, p+n)
#include<bits/stdc++.h>
using namespace std;
int main(){
int n;
char p[10];
cin>>n;
for(int i=0;i<n;i++)
cin>>p[i];
sort(p,p+n);
do{
for(int i=0;i<n;i++)
cout<<p[i];
cout<<endl;
}while(next_permutation(p,p+n));
return 0;
}
2. cin>>hex>>a
cin>>hex>>a,此时如果输入12,那么a就是ox12,也就是说此时的12是十六进制的,实际上a的值为18(十进制)。
此时,如果用cout<<a;那么输出的是18.
#include<bits/stdc++.h>
using namespace std;
int main() {
int a,b;
while(cin>>hex>>a>>hex>>b)
cout<<a+b<<endl;
return 0;
}