PAT

基礎(chǔ)語法:

字符串相關(guān)

字符串函數(shù)庫:cstring
獲取字符串長度:strlen(s)
字符串?dāng)?shù)組:使用二維數(shù)組表示 a[元素數(shù)目][最大長度]纹安,定義時賦值或循環(huán)賦值scanf("%s", strs[i])
字符串賦值:a=b→strcpy(a,b);

算法及數(shù)據(jù)結(jié)構(gòu)回顧:

題解:

1151

二叉樹单雾,LCA,vector與Map應(yīng)用
參考自:https://blog.csdn.net/qq_40597059/article/details/99699193,利用容器特性和遍歷序列相對位置判斷

#include<iostream>
#include<map>
#include<vector>
using namespace std;
map<int,int>pos;
vector<int>pre,in;
void lca(int inl,int inr,int preroot,int a,int b)
{
    if(inl>inr) return;
    int inroot=pos[pre[preroot]],ina=pos[a],inb=pos[b];
    if(ina<inroot&&inb<inroot) lca(inl,inroot-1,preroot+1,a,b);
    else if(ina>inroot&&inb>inroot) lca(inroot+1,inr,preroot+inroot-inl+1,a,b);
    else if((ina<inroot&&inb>inroot)||(ina>inroot&&inb<inroot)) printf("LCA of %d and %d is %d.\n",a,b,in[inroot]); 
    else if(ina==inroot)    printf("%d is an ancestor of %d.\n",a,b);
    else printf("%d is an ancestor of %d.\n",b,a);
}
int main()
{
    int m,n;
    scanf("%d%d",&m,&n);
    pre.resize(n+1);
    in.resize(n+1);
    for(int i=1;i<=n;i++) 
    {
        scanf("%d",&in[i]);
        pos[in[i]]=i;
    }
    for(int i=1;i<=n;i++) 
    {
        scanf("%d",&pre[i]);
    }
    while(m--)
    {
        int a,b;
        scanf("%d%d",&a,&b);
        if(pos[a]==0&&pos[b]==0)    printf("ERROR: %d and %d are not found.\n",a,b);
        else if(pos[a]==0)  printf("ERROR: %d is not found.\n",a);
        else if(pos[b]==0)  printf("ERROR: %d is not found.\n",b);
        else lca(1,n,1,a,b);
    }
    return 0;
}  
1042

基礎(chǔ)題,字符串操作

#include<cstdio>
#include<cstring> 
int main()
{
    char card[55][5]={" ","S1", "S2", "S3", "S4", "S5", "S6", "S7", "S8", "S9", "S10", "S11" , "S12", "S13","H1", "H2", "H3", "H4", "H5", "H6", "H7", "H8", "H9", "H10", "H11" , "H12", "H13","C1", "C2", "C3", "C4", "C5", "C6", "C7", "C8", "C9", "C10", "C11" , "C12", "C13","D1", "D2", "D3", "D4", "D5", "D6", "D7", "D8", "D9", "D10", "D11" , "D12", "D13","J1", "J2"};
    char temp[55][5];
    int order[54];
    int count,i,j;
    scanf("%d",&count);
    for(i=1;i<=54;i++)  scanf("%d",&order[i]);
//  for(i=0;i<54;i++)   printf("%d",order[i]);
    for (j=1;j<=count;j++)
    {
        for(i=1;i<=54;i++)
        {
            strcpy(temp[order[i]],card[i]);
        }
        for(i=1;i<=54;i++) strcpy(card[i],temp[i]);
    }
    for(i=1;i<=54;i++) 
    {
        if(i!=1) printf(" "); 
        printf("%s",card[i]);
    
    }return 0;
}
1005

基礎(chǔ)題

#include<cstdio>
#include<cstring>
int main()
{
    char s[100];
    int sum=0,j=0,ans[100];
    scanf("%s",&s);
    for(int i=0;i<strlen(s);i++) sum+=int(s[i])-48;
    if(sum==0) printf("zero"); 
    while(sum)
    {
        ans[j]=sum%10;
        sum/=10;
        j++;
    }
    while(j--)
    {
        if(ans[j]==0) printf("zero");
        else if(ans[j]==1) printf("one");
        else if(ans[j]==2) printf("two");
        else if(ans[j]==3) printf("three");
        else if(ans[j]==4) printf("four");
        else if(ans[j]==5) printf("five");
        else if(ans[j]==6) printf("six");
        else if(ans[j]==7) printf("seven");
        else if(ans[j]==8) printf("eight");
        else if(ans[j]==9) printf("nine");
        if(j!=0)
            printf(" ");
    }
    
    return 0;
} 
1001

基礎(chǔ)題谆刨,數(shù)據(jù)小,感覺我的處理有些復(fù)雜了

#include<cstdio>
#include<cmath>
int main()
{
    int a,b,ans,t1,t2,t3;
    scanf("%d %d",&a,&b);
    ans=a+b;
    t1=ans%1000;
    ans/=1000;
    t2=ans%1000;
    ans/=1000;
    t3=ans%1000;
    if(t3!=0)   printf("%d,%03d,%03d",t3,abs(t2),abs(t1));
    else if(t2!=0)  printf("%d,%03d",t2,abs(t1));
    else printf("%d",t1);
    return 0;
} 
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
禁止轉(zhuǎn)載归斤,如需轉(zhuǎn)載請通過簡信或評論聯(lián)系作者痊夭。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市脏里,隨后出現(xiàn)的幾起案子她我,更是在濱河造成了極大的恐慌,老刑警劉巖迫横,帶你破解...
    沈念sama閱讀 221,635評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件番舆,死亡現(xiàn)場離奇詭異,居然都是意外死亡矾踱,警方通過查閱死者的電腦和手機(jī)恨狈,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,543評論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來呛讲,“玉大人禾怠,你說我怎么就攤上這事”锤椋” “怎么了吗氏?”我有些...
    開封第一講書人閱讀 168,083評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長雷逆。 經(jīng)常有香客問我弦讽,道長,這世上最難降的妖魔是什么关面? 我笑而不...
    開封第一講書人閱讀 59,640評論 1 296
  • 正文 為了忘掉前任坦袍,我火速辦了婚禮,結(jié)果婚禮上等太,老公的妹妹穿的比我還像新娘捂齐。我一直安慰自己缩抡,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,640評論 6 397
  • 文/花漫 我一把揭開白布瞻想。 她就那樣靜靜地躺著,像睡著了一般蘑险。 火紅的嫁衣襯著肌膚如雪滴肿。 梳的紋絲不亂的頭發(fā)上佃迄,一...
    開封第一講書人閱讀 52,262評論 1 308
  • 那天,我揣著相機(jī)與錄音呵俏,去河邊找鬼。 笑死普碎,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的麻车。 我是一名探鬼主播缀皱,決...
    沈念sama閱讀 40,833評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼动猬,長吁一口氣:“原來是場噩夢啊……” “哼唆鸡!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起枣察,我...
    開封第一講書人閱讀 39,736評論 0 276
  • 序言:老撾萬榮一對情侶失蹤争占,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后序目,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體臂痕,經(jīng)...
    沈念sama閱讀 46,280評論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,369評論 3 340
  • 正文 我和宋清朗相戀三年猿涨,在試婚紗的時候發(fā)現(xiàn)自己被綠了握童。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,503評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡叛赚,死狀恐怖澡绩,靈堂內(nèi)的尸體忽然破棺而出稽揭,到底是詐尸還是另有隱情,我是刑警寧澤肥卡,帶...
    沈念sama閱讀 36,185評論 5 350
  • 正文 年R本政府宣布溪掀,位于F島的核電站,受9級特大地震影響步鉴,放射性物質(zhì)發(fā)生泄漏揪胃。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,870評論 3 333
  • 文/蒙蒙 一氛琢、第九天 我趴在偏房一處隱蔽的房頂上張望喊递。 院中可真熱鬧,春花似錦阳似、人聲如沸骚勘。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,340評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽调鲸。三九已至,卻和暖如春挽荡,著一層夾襖步出監(jiān)牢的瞬間藐石,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,460評論 1 272
  • 我被黑心中介騙來泰國打工定拟, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留于微,地道東北人。 一個月前我還...
    沈念sama閱讀 48,909評論 3 376
  • 正文 我出身青樓青自,卻偏偏與公主長得像株依,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子延窜,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,512評論 2 359

推薦閱讀更多精彩內(nèi)容