P1015 NOIP1999 普及組 回文數

2022-09-10 08:15:13 字數 1132 閱讀 9286

題目描述

若乙個數(首位不為零)從左向右讀與從右向左讀都一樣,我們就將其稱之為回文數。

例如:給定乙個十進位制數 5656,將 5656 加 6565(即把 5656 從右向左讀),得到 121121 是乙個回文數。

又如:對於十進位制數 8787:

step1:87+78=16587+78=165

step2:165+561=726165+561=726

step3:726+627=1353726+627=1353

step4:1353+3531=48841353+3531=4884

在這裡的一步是指進行了一次 nn 進製的加法,上例最少用了 44 步得到回文數 48844884。

寫乙個程式,給定乙個 nn(2 \le n \le 102≤n≤10 或 n=16n=16)進製數 mm(100100 位之內),求最少經過幾步可以得到回文數。如果在 3030 步以內(包含 3030 步)不可能得到回文數,則輸出 impossible!。

輸入格式

兩行,分別是 nn,mm。

輸出格式

如果能在 3030 步以內得到回文數,輸出格式形如 step=ans,其中 ansans 為最少得到回文數的步數。

否則輸出 impossible!。

輸入樣例

10 87

輸出樣例

step=4

首次提交**

#include#include#include#include#include#includeusing namespace std;

int n,a[10010],b[10010],ans,l;

void zhuanhuan()//輸入加轉換

}bool check()//判斷回文

return true;

}void gaojing()//進製比較特殊

if(a[l+1]>0)l++;

}int main()

for(int ans=1;ans<=30;++ans) }

printf("impossible");

return 0;

}

20分鐘後--錯的依舊這麼清奇:impossible後沒加'!'

P1020 NOIP1999 普及組 飛彈攔截

第一問,單個系統最多能攔截多少飛彈,求最長不公升序列即可.拿出lis的模板塗塗改改.bool cmp const int a,const int b for int i 1 i n i if s i dp len len dp len s i else printf d n len 第二問,最少需要...

NOIP 1999 普及組 複賽 回文數

noip 1999 普及組 複賽 回文數 1309 例1.6 回文數 noip1999 高精度加演算法,很有信心 後判斷 翻轉 先加 30步跳出 仔細看題,發現並不只是十進位制,是n進製,馬上意識到該題的難度了 過了一晚之後,再想想,只要把十進位制中的10換成n,並編寫乙個列印函式,列印位上的值大於...

普及 NOIP 1999 郵票面值設計

題目描述 給定乙個信封,最多隻允許貼上n張郵票,計算在給定k n k 40 種郵票的情況下 假定所有的郵票數量都足夠 如何設計郵票的面值,能得到最大值max,使在1 max之間的每乙個郵資值都能得到。例如,n 3,k 2,如果面值分別為1分 4分,則在1分 6分之間的每乙個郵資值都能得到 當然還有8...