f073.
切牌
--
板橋高中教學題
| From: [114.27.45.165] |
發表日期
:
2023-07-13 17:41
可能是我想得太複雜o( ̄ヘ ̄o#)
看到輸入和輸出後,我發現每張牌輸入輸出都是以空白分隔
所以我決定先設整段排組為一個字串再藉由偵測空白來分割字串
#include<bits/stdc++.h>
using namespace std;
int main(){
string s;
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;
}