用c语言海港(Noip2016.3)不知道哪里错了
关键点即可,不用C++
#include<stdio.h>
struct peo
{
int time,from;
}a[300001];
int main(void)
{
FILE *fp=fopen("port.in","r");
int p,i,j,n,t,s,f,c[100001]={0},k=0,nc[100001]={0};
fscanf(fp,"%d",&n);
for(i=1,p=1;i<=n;i++)
{
fscanf(fp,"%d%d",&t,&s);
for(j=1;j<=s;j++)//信息记录
{
k++;//顺序号码
a[k].time=t;//时间
fscanf(fp,"%d",&f);//国籍
a[k].from=f;//国籍
c[f]++;//对应国籍号加1
}
if(a[i].time-86400>a[p].time)//除去超时的
for(;a[p].time<a[i].time-86400;p++)//循环到达不超时
c[a[p].from]--;//减掉超时
for(j=1;j<=100001;j++)//遍历查找有人的国际
if(c[j]>=1)
nc[i]++;
}fclose(fp);
fp=fopen("port.out","w");//输出
for(i=1;i<=n;i++)
fprintf(fp,"%d
",nc[i]);
return 0;
}
短输入没问题,大数据就出问题了...
这个需要有输入文件才能查明问题。短输入是什么含义?大数据大到什么程度?如果数据量巨大,建议所有整型变量使用long int类型。
下一篇:易语言制作鼠标记录器
上一篇:git如何安装使用