Online JudgeProblem SetAuthorsOnline ContestsUser
Web Board
Home Page
F.A.Qs
Statistical Charts
Problems
Submit Problem
Online Status
Prob.ID:
Register
Update your info
Authors ranklist
Current Contest
Past Contests
Scheduled Contests
Award Contest
User ID:
Password:
  Register

输入数据的问题,另外RE的数组请开大

Posted by zpclinux at 2012-07-28 17:15:28 on Problem 1270
开始的时候是RE, 我的结果数组开的是512×26,  接收输入数据的开4096
然后把它们都放成全局变量分别开65536×26 和 65536 后变成WA
开始忘了排序和控制输出格式两组间有空行。 这两条都加上后还是WA

于是把输入与对输入数据的解析部分
WA时我是这样写的:
开始 while ( gets(str) ) 然后是一些初始化,接着如下
for (i = 0; str[i]; i++) {
	if (str[i] == ' ') continue;
	count[str[i]-'a'] = 0;
	nNode++;
} //到这里是解析了有哪些字母
gets(str);
for (i = 0; str[i]; i += 4) {
	addEdge(str[i]-'a', str[i+2]-'a');
	count[str[i+2]-'a']++;
}
//这里我以为输入的一定是一个字母,一个空格,再一个字母,一个空格,每4个一组构成一个约束
但是事实似乎都不是这样,当我把最后一部分的解析改成
for (flag = i = 0; str[i]; i++) {
	if (str[i] == ' ') continue;
	if (!flag) {
		x = str[i] - 'a';
	} else {
		addEdge(x, str[i]-'a');
		count[str[i]-'a']++;
	}
	flag = !flag;
}
这样后就AC了, 这样看来输入文件并不是4个字符一组为一约束的方式

Followed by:

Post your reply here:
User ID:
Password:
Title:

Content:

Home Page   Go Back  To top


All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator