关于叛逆的getline(bushi
  • 板块灌水区
  • 楼主xiaoyang111
  • 当前回复8
  • 已保存回复8
  • 发布时间2023/6/30 22:08
  • 上次更新2023/11/3 12:01:35
查看原帖
关于叛逆的getline(bushi
890311
xiaoyang111楼主2023/6/30 22:08

题目

以下代码可以正常运行:

#include <iostream>
#include <vector>
#include <string>
using namespace std;
int main(){
	int n,q;
	cin >> n >> q;
	vector<string> s(n+1);
	for (int i=0;i<n;++i){
		string str;
		cin >> str;
		s[i+1]=str;
	}
	for (int qwq=0;qwq<q;++qwq){
		int t;
		cin >> t;
		if (t==1){
			int x,y,i;
			cin >> x >> y >> i;
			s[y].insert(i,s[x]);
		}else{
			int x;
			cin >> x;
			cout<<s[x]<<endl;
		}
	}
	return 0;
}

而以下代码不能正常运行( qq 次操作还没输入):

#include <iostream>
#include <vector>
#include <string>
using namespace std;
int main(){
	int n,q;
	cin >> n >> q;
	vector<string> s(n+1);
	for (int i=0;i<n;++i){
		string str;
		getline(cin,str);//就只有这里改了
		s[i+1]=str;
	}
	for (int qwq=0;qwq<q;++qwq){
		int t;
		cin >> t;
		if (t==1){
			int x,y,i;
			cin >> x >> y >> i;
			s[y].insert(i,s[x]);
		}else{
			int x;
			cin >> x;
			cout<<s[x]<<endl;
		}
	}
	return 0;
}

话说这个题数据有点弱,题目没保证字符串有无空格,而第一个代码空格没判断,竟然还过了(本想着洛谷上交了试一下)。建议加一点字符串是空格的数据

2023/6/30 22:08
加载中...