洛谷-训练场-新手村-简单字符串-P1308 统计单词数

 

#include
#include

int main(){
    //freopen("testdata.in", "r", stdin);
    int ans = 0, sta = -1, xlen, ylen, i, k;
    char x[25], y[2000005], z[205];
    scanf("%s", x);
    getchar();
    fgets(y, 2000000, stdin);
    xlen = strlen(x);
    ylen = strlen(y);
    for(i=0; i 96 && x[i] < 123) x[i] = x[i] - 32;
    for(i=0; i 96 && y[i] < 123) y[i] = y[i] - 32;
    for(i=0; i

解释:

1.由于第二行字符串有空格,所以不能scanf,用了fgets;

2.这个题目的数据范围应该有误,测试点8爆栈,懒得去纠结是第一行数据的问题还是第二行数据的问题了,都直接扩到原范围2倍完美AC;

3.第25行断路与先比较长度,如果长度不同就肯定不是同一个字符串,也就没必要strcmp比较是否相同,实测如果直接每个都strcmp的话,后三个测试点会超时。以及直接strcmp,测试点7用时144ms,改后9ms。

你可能感兴趣的:(洛谷)