社区讨论

求问 玄学IO问题?

P1407[国家集训队] 稳定婚姻参与者 7已保存回复 9

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
9 条
当前快照
1 份
快照标识符
@mi85vxn7
此快照首次捕获于
2025/11/21 09:08
4 个月前
此快照最后确认于
2025/11/21 09:08
4 个月前
查看原帖
RT 调了半天找不到错
最后发现只要删掉
CPP
ios::sync_with_stdio(false);
这一行就会 5pts100pts5pts→100pts
模糊中有印象,以前好像也遇到过另一个IOIO的问题
这里一起请教一下各位dalaodalao
(1)上面的情况是什么原因?
(2)这是好久以前遇到的问题
就是读入一个稀疏矩阵然后按顺序输出其中非零元素,问题很简单(你可能没有理解 但重点不在这),但是我想问一下IOIO的问题
先贴代码:
CPP
#include<bits/stdc++.h>
#include<stdlib.h>
using namespace std;
#define ZLL 100001
int n,m,k;
int x[ZLL],y[ZLL],d[ZLL];
int c[ZLL]; 
int *a[ZLL];
int main()
{
	ios::sync_with_stdio(false);
	freopen("1.txt","r",stdin);
	//scanf("%d%d%d",&n,&m,&k);
	cin>>n>>m>>k;
	for(int i=1;i<=k;i++)
	{
		//scanf("%d%d%d",&x[i],&y[i],&d[i]);
		cin>>x[i]>>y[i]>>d[i];
		c[y[i]]++;
	}
	for(int i=1;i<=m;i++)
		a[i]=new int[c[i]];
	for(int i=1;i<=k;i++)
	{
		*a[y[i]]=d[i];
		a[y[i]]++;
	}
	for(int i=1;i<=m;i++)
	{
		a[i]-=c[i];
		for(int j=1;j<=c[i];j++,a[i]++)
			cout<<*a[i]<<" ";
            //printf("%d ",*a[i]);
	}
	return 0;

}
给出代码中提到的1.txt1.txt
CPP
从我的注释可以看出我尝试了scanf/pritnf 与 cin/cout 两种IO
这是实验情况:
注:将有无ios::sync_with_stdio(false);简称为Q与NQ
将有无freopen语句简称为F与NF
(1) Q F cin/cout 正常运行
(2) Q F scanf/printf 正常运行
(3) NQ F scanf/printf 正常运行
(4) Q NF scanf/printf 正常运行
(5) NQ NF scanf/printf 正常运行
(6) NQ F cin/cout 正常运行
(7) Q NF cin/cout 正常运行
(8) NQ NF cin/cout 正常运行
注:(9)~(12)为方便,IOIO中仅进行输入操作,输出操作全部注释了
(9) Q F cin与scanf混用 运行错误
(10) NQ F cin与scanf混用 正常运行
(11) Q NF cin与scanf混用 正常运行
(12) NQ NF cin与scanf混用 正常运行
主要关注 (1) (2) (9)~(12) 是什么原因啊 scanf与cin两类IOIO最某种条件下不能一起用?

回复

9 条回复,欢迎继续交流。

正在加载回复...