玄学输入
  • 板块P3392 涂国旗
  • 楼主Cphi_
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/8/7 11:29
  • 上次更新2024/8/7 13:04:50
查看原帖
玄学输入
1405376
Cphi_楼主2024/8/7 11:29

OJ上cin和getline()以及getchar()是不是不能混用啊

省流版提问:评测数据(我看不到)是不是有空行

以下代码均可在本地和在线的IDE上ac

这是ac的输入部分代码


	int n,m;
	cin>>n>>m;
	getchar();
	int w[n+1]={},b[n+1]={},r[n+1]={};
	for(int i=1;i<=n;i++)
	{
		string a;
		cin>>a;
		for(int j=0;j<m;j++)
		{
			char tmp=a[j];
			switch(tmp)
			{
				case 'W':
					{
						w[i]++;
						break;
					}
				case 'B':
					{
						b[i]++;
						break;
					}
				case 'R':
					{
						r[i]++;
						break;
					}
			}
		}
	}

换成getline()跑出来就全wa:
int n,m;
	cin>>n>>m;
	getchar();
	int w[n+1]={},b[n+1]={},r[n+1]={};
	for(int i=1;i<=n;i++)
	{
		string a;
		getline(cin,a);
		for(int j=0;j<m;j++)
		{
			char tmp=a[j];
			switch(tmp)
			{
				case 'W':
					{
						w[i]++;
						break;
					}
				case 'B':
					{
						b[i]++;
						break;
					}
				case 'R':
					{
						r[i]++;
						break;
					}
			}
		}
	}

之前还写过一个getchar()的也过不了 见了鬼了

2024/8/7 11:29
加载中...