甲级 1019 General Palindromic Number

为啥甲级的简单题都会有几个让我很迷茫的卡点,,

首先是注意输入0时输出 Yes 0

然后就是不知道为什么会卡的点
正确代码写的确实很正确也很简单
但是按照我的来写,如果错应该也是超时的错啊,,为什么会是答案错误
两段代码的意思是一样的呀,,
还是要多多学习吧,,可能,,

#include <cstdio>
#include <iostream>

using namespace std;

int n, b;
int arr[1000];

int main(){

    scanf("%d%d", &n, &b);
    int l=0;
    int key=1;
    while(n!=0){
        arr[l] = n % b;
        n = n / b;
        l++;
    }
    /*for(int i=0; i <l/2; i++){ //这样写会有一个点不过,,
        if(arr[i]==arr[l-i-1]) key = 1;
        else key = 0;
    }   
    if(key == 1) printf("Yes\n");
    if(key == 0) printf("No\n");
    */

    for(int i=0; i<l/2; i++){
        if(arr[i] != arr[l-i-1]) {
            printf("No\n");
            key = 0;
            break;
        }
    }

    if(key == 1) printf("Yes\n");
    for(int i=l-1; i>=0; i--){
        if(i == l-1) printf("%d",arr[i]);
        else printf(" %d",arr[i]);

    }

    if(l==0) {
        printf("0");
    }

    return 0;
} 

偷懒三天了,,时间其实还挺紧的,,,
不行,,不行,,

猜你喜欢

转载自blog.csdn.net/mdzz_z/article/details/81427638