zoukankan      html  css  js  c++  java
  • CodeVS 1045 回文数

    题目大意:

    http://codevs.cn/problem/1045/

    代码:

    #include <iostream>
    #include <cstring>
    
    using namespace std;
    
    int n,m;
    char ch[500];
    int arr[500];
    void print()
    {
        for(int i = 0 ; i < 500; i++)
        {
            if(arr[i] != -1)
                cout << arr[i] << " " ;
            else
                break;
        }
    
        cout << endl;
    }
    void add()
    {
        int tmp[500];
        int arr1[500];
        int count = 0;
        int l = 0;
        for(int i = 0; i < 500; i++)
        {
            if(arr[i] != -1)
                l++;
            else
                break;
        }
        l--;
    
        for(int i = l, j = 0; i >= 0 ;i--, j++)
        {
            arr1[j] = arr[i];
        }
        int flag = 0;
        while(l >= 0)
        {
            int t = (arr[l] + arr1[l] + flag) % n;
            flag = (arr[l] + arr1[l] + flag) / n;
            tmp[count++] = t;
            l--;
    
        }
    
        if(flag == 1)
            tmp[count++] = 1;
    
        for(int i = count - 1, j = 0; i >= 0; i--, j++)
        {
            arr[j] = tmp[i];
        }
    
    
    }
    
    bool judge()
    {
        int l = 0;
        for(int i = 0; i < 500; i++)
        {
            if(arr[i] != -1)
                l++;
            else
                break;
        }
    
        l--;
        int s = 0;
        while(s <= l)
        {
            if(arr[s] == arr[l])
            {
                s++;
                l--;
            }
            else
                return false;
        }
    
        return true;
    }
    
    
    int main()
    {
        cin >> n >> ch;
    
        for(int i = 0; i < 500; i++) arr[i] = -1;
        for(int i = 0; i < strlen(ch); i++)
        {
            int tmp = ch[i] - '0';
            if(tmp <= 9) arr[i] = tmp;
            else
                arr[i] = tmp - 7;
        }
    
        for(int i = 0; i <= 30; i++)
        {
    
            if(!judge())
            {
                add();
    
            }
            else
            {
                cout <<"STEP=" << i << endl;
                return 0;
            }
    
        }
    
        cout << "Impossible!" << endl;
        return 0;
    }
  • 相关阅读:
    4-1 R语言函数 lapply
    3-6 向量化操作
    3-5 处理缺失值
    3-4 列表的子集
    3-3 数据框的子集
    3-2 矩阵的子集
    bootstrap 模式对话框
    手机端 超链接 识别电话号码
    jQuery设置和获取HTML、文本和值
    TP 框架 ajax[利用异步提交表单]
  • 原文地址:https://www.cnblogs.com/zyqBlog/p/7692440.html
Copyright © 2011-2022 走看看