优化,结果没了50分
查看原帖
优化,结果没了50分
340728
2020许弘毅楼主2024/7/21 21:01
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
int N,a[10010],c,start,m,n;
string s;
void read()
{
	getline(cin,s);
	int len=s.size(),num=0;
	for(int i=0;i<len;i++)
	{
		if(s[i]>='0'&&s[i]<='9')
		{
			num*=10;
			num+=s[i]-'0';
		}else
		{
			a[++a[0]]=num;
			num=0;
		}
	}
	if(num)
		a[++a[0]]=num;
}
int main()
{
	cin>>N;
	getchar();
	while(N--)
		read();
	c=a[0];
	sort(a+1,a+1+c);
	start=a[1]+1;
	for(int i=2;i<=c;i++)
	{
		if(a[i]==start+1)
		{
			m=start;
			start++;
		}
	//	if(a[i]==a[i+1]-2)
	//		m=a[i]+1;
		if(a[i]==a[i+1])
		{
			n=a[i];
			continue; 
		}
		if(m>0&&n>0)
			break;
		start++;
	}
	printf("%d %d",m,n);
	return 0;
}

为什么这样写没分,把if(m>0&&n>0)break;这句注释掉就50分。而且哪里有错误,拿不到满分。

2024/7/21 21:01
加载中...