排列代码
以poj1248为例 题目链接
void solve(){
for(int v = 0; v<len; v++){
for(int w = 0; w<len; w++){
if(v==w)
continue;
for(int x = 0; x<len; x++){
if(x==v||x==w)
continue;
for(int y=0; y<len; y++){
if(y==v||y==x||y==w)
continue;
for(int z=0; z<len; z++){
if(z==v||z==w||z==x||z==y)
continue;
if(deal(s[v]-'A'+1,s[w]-'A'+1,s[x]-'A'+1,s[y]-'A'+1,s[z]-'A'+1)){
printf("%c%c%c%c%c\n",s[v],s[w],s[x],s[y],s[z]);
return ;
}
}
组合代码
以poj1543为例 题目链接
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
int N;
cin >> N;
for(int a=2; a<=N; a++)
for(int b=2; b<a; b++)
for(int c=b; c<a; c++)
for(int d=c; d<a; d++)
if(a*a*a == b*b*b + c*c*c + d*d*d)
printf("Cube = %d, Triple = (%d,%d,%d)\n", a, b, c, d);
return 0;
}