USACO 1.2 DUALPAL

/*
ID: aznfy1
PROG: dualpal
LANG: C++
*/

#include<stdio.h>
#include<string.h>
#include<iostream>
using namespace std;
int num[500];int len;
void change(int x,int b)
{
    int i=0;
    while(x!=0)
    {
        num[i]=x%b;
        x=x/b;
        i++;
    }
    len=i;
}
int judge()
{
    for(int i=0;i<len/2;i++)
    {
        if(num[i]!=num[len-i-1])
        return 0;
    }
    return 1;
}
int main()

{
    freopen("dualpal.in","r",stdin);
    freopen("dualpal.out","w",stdout);
    int m,n;
    while(cin>>n>>m)
    {
        int i=0;
        for(int j=m+1;;j++)
        {
            int time=0;
            change(j,2);
            time+=judge();
            change(j,3);
            time+=judge();
            change(j,4);
            time+=judge();
            change(j,5);
            time+=judge();
            change(j,6);
            time+=judge();
            change(j,7);
            time+=judge();
            change(j,8);
            time+=judge();
            change(j,9);
            time+=judge();
            change(j,10);
            time+=judge();
            if(time>=2)
            {for(int i=len-1;i>=0;i--)
            cout<<num[i];
            cout<<endl;i++;}
            if(i==n)
            break;
        }
    }
    return 0;
}
View Code
原文地址:https://www.cnblogs.com/whatthefy/p/3085503.html