懶人輸入法,比賽時用
範例
以下為APCS在2023/10/22的第三題測資
輸入:
3 4
FHH7
IIII
LHHJ
輸出:
10
輸入:
4 7
0F70000
FXJ0000
II700X7
LJ0HHLJ
輸出:
9
APCS提供的 Codeblocks 不支援複製、貼上 ,對於打字慢的人非常不友善。
像這個題目,測資一大串,還英文與數字混和,如果我們想要一直測試的話可以怎麼辦呢?看到程式碼,我們可以將cin替換成自己的cin,然後在我們的cin放入要輸入的資料
#include <bits/stdc++.h>
using namespace std;
int main(){
istringstream cin(R"(4 7
0F70000
FXJ0000
II700X7
LJ0HHLJ)");//註解這一行
int n,m;
string s;
cin>>n>>m;
for(int i=0;i<n;i++){
cin>>s;
cout<<s<<"\n";
}
}
0F70000
FXJ0000
II700X7
LJ0HHLJ
Raw string literal 語法
他基本上是寫為:
R"(<字串內容>)"
請看以下程式碼:
code
#include <bits/stdc++.h>
using namespace std;
int main(){
istringstream cin(R"((13 12\n
456 654\n
798))");
string s;
while(getline(cin,s)){
cout<<s<<"%"; //'%'代表換行
}
}
output
(13 12\n%456 654\n%798)%
有兩個重點:
- 如果要'()'的話就要額外寫
- 裡面的跳脫字元會被視為一般字元