萌新中的萌新求助
  • 板块学术版
  • 楼主wangzy239
  • 当前回复3
  • 已保存回复3
  • 发布时间2022/1/21 11:41
  • 上次更新2023/10/28 11:41:36
查看原帖
萌新中的萌新求助
614025
wangzy239楼主2022/1/21 11:41

关于CF5A Chat Server's Outgoing Traffic这道题,我第一次交的WA了,然后删除了两行变成AC,我理解不了为什么会这样,求大佬们解惑 WA:

#include <bits/stdc++.h>
using namespace std;
int count_l(char x[100])
{
	int i,loca=100,l=0;
	for(i=0;i<strlen(x);i++)
	{
		if(x[i]==':') loca=i;
		if(i>loca) l++;
	}
	return l;
}
int main()
{
	char order[100][100];
	int i,line=0,online_members=0,sum_flow=0;
	for(i=0;i<100;i++)
	{
		gets(order[i]);
		if(strlen(order[i])!=0) line+=1;
		if(strlen(order[i])==0) break;
	}
	for(i=0;i<line;i++)
	{
		if(*order[i]=='+') online_members++;
		if(*order[i]=='-') online_members--;
		if((*order[i]!='-')&&(*order[i]!='+')) sum_flow+=count_l(order[i])*online_members;
	}
	cout<<sum_flow<<endl;
	return 0;
}

AC:

#include <bits/stdc++.h>
using namespace std;
int count_l(char x[100])
{
	int i,loca=100,l=0;
	for(i=0;i<strlen(x);i++)
	{
		if(x[i]==':') loca=i;
		if(i>loca) l++;
	}
	return l;
}
int main()
{
	char order[100][100];
	int i,online_members=0,sum_flow=0;
	for(i=0;i<100;i++)
	{
		gets(order[i]);
		if(*order[i]=='+') online_members++;
		if(*order[i]=='-') online_members--;
		if((*order[i]!='-')&&(*order[i]!='+')) sum_flow+=count_l(order[i])*online_members;
		if(*order[i]=='\0') break;
	}
	cout<<sum_flow<<endl;
	return 0;
}
2022/1/21 11:41
加载中...