#36296: c++殘風解


eddiehu (Eddiehu)

學校 : 不指定學校
編號 : 221727
來源 : [114.27.42.119]
最後登入時間 :
2024-02-09 23:40:06
f073. 切牌 -- 板橋高中教學題 | From: [114.27.45.165] | 發表日期 : 2023-07-13 17:39

可能是我想得太複雜o( ̄ヘ ̄o#)

看到輸入和輸出後,我發現每張牌輸入輸出都是以空白分隔

所以我決定先設整段排組為一個字串再藉由偵測空白來分割字串

int n,m;
cin>>n;
cin.ignore();
getline(cin,s);
cin>>m;
 
vector<string> v,a;                                              分割方法這一行開始
    while(1){                                   
    v.push_back(s.substr(0, s.find(" "))); 
    s = s.substr(s.find(" ") + 1, s.length()); 
    if (s.find(" ") == -1){
    v.push_back(s);
    break;
    }
    }
    a=v;                                                               當抽的牌數是奇是偶會影響新字串賦值 ,所以就分兩個迴圈處理      
for(int i=0;i<m;i++){
a[n-i-1]=v[m-i-1];
}
for(int i=0;i<n-m;i++){
a[i]=v[m+i];
}
                                                                        輸出的部分,雖每張牌要以空白分隔但切記最後一張牌後面不能再加空白(會NA ┑( ̄Д  ̄)┍)
for(int i=0;i<n-1;i++){
cout<<a[i]<<" ";
}
cout<<a[n-1];
return 0;
}
 
#36298: Re: c++殘風解


eddiehu (Eddiehu)

學校 : 不指定學校
編號 : 221727
來源 : [114.27.42.119]
最後登入時間 :
2024-02-09 23:40:06
f073. 切牌 -- 板橋高中教學題 | From: [114.27.45.165] | 發表日期 : 2023-07-13 17:43

請看上一篇,我這篇沒有複製好我的程式碼(ノへ ̄、)



 
ZeroJudge Forum