为什么第二个反而过了?!这不科学啊,和要求的根本不一样啊。。。
[第二个明明是输入一个输出一个结果的!]
为什么!不闹,在线等,挺急的!!!
2
messyidea 2015-12-04 23:02:49 +08:00
输入一个输出一个结果又什么问题。。 ACM 不都是这样的吗。
评测的时候基本上重定向一下输入输出,比较一下输出。 |
3
juxingzhutou 2015-12-04 23:07:53 +08:00
赞同楼上,都是比对标准输出的数据的,跟一个一个输出还是一起输出没有关系。
|
4
messyidea 2015-12-04 23:13:54 +08:00
第一个程序输入多组数据是对的吗?你可以把数据量增加一点。刷这种题一般记答案都是直接 int array[1000000],然后把答案一个个记录到数组中去就好了,不会超内存,速度又快。动态分配内存不熟练很容易错的
|
5
HentaiMew 2015-12-04 23:19:45 +08:00
话说为什么我被艾特了。吓哭
|
6
sengxian 2015-12-04 23:23:21 +08:00
```cpp
// Created by Sengxian on 12/4/15. // Copyright (c) 2015 年 Sengxian. All rights reserved. // HDOJ 2005 #include <stdio.h> int month[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; int main() { int y, m, d, ans; while(~scanf("%d/%d/%d", &y, &m, &d)) { if(y % 400 == 0 || (y % 100 != 0 && y % 4 == 0)) month[1] = 29; else month[1] = 28; ans = 0; for(int i = 0; i < m - 1; ++i) ans += month[i]; printf("%d\n", ans + d); } return 0; } ``` 没有问题,已经 A 了 |
7
sengxian 2015-12-04 23:25:55 +08:00
每组输出和在一起输出是一样的,没有任何区别。
第一个程序没你这样写的,即使要记在一起输出,好歹也开个大数组啊,或者直接用 STL 里面的 Vector 。 |
8
mikicomo OP |
10
messyidea 2015-12-05 00:33:49 +08:00 via Android
@mikicomo 我不太熟悉 realloc , realloc 返回值赋给 flag 之后, flag 变了吗?如果会变的话要保留 flag 的初始值,不然只能输出一部分答案。还有, realloc 之后 N 没有变化, f 一直变大,那不是不管多大数据量,只能够 reqlloc 一遍?是不是有点问题?还有下次尽量贴代码,不要截图,肉眼 debug 有点累
|
11
mikicomo OP @messyidea
realloc 的话是在原有基础上扩充存储单元,前面的值是保留下来的,(“ realloc 之后 N 没有变化, f 一直变大,那不是不管多大数据量,只能够 reqlloc 一遍?”)被你一说真的发现了!感谢 ing ,我再改改测试下 #include<stdio.h> #include<stdlib.h> #define N 2 int main(void) { int year, mon, day,t=0,i; int month[12]={31,28,31,30,31,30,31,31,30,31,30,31}; int *flag; int f=0; flag=(int*)malloc(N*sizeof(int)); while(scanf("%d/%d/%d",&year,&mon,&day)!= EOF ) { if ( year%400 == 0 || (year%100 != 0 && year%4 == 0)) { month[1]+=1; } for(i=0;i<mon-1;i++) t+=month[i]; t=t+day; *(flag+f)=t; f++; if (f == N) flag=(int*)realloc(flag,N*sizeof(int)); t=0; month[1]=28; } for(int cnt=0;cnt<f;cnt++) { printf("%d\n",*(flag+cnt)); } free(flag); return 0; } |
12
sengxian 2015-12-05 11:01:15 +08:00
@mikicomo 强烈不建议这样做,这样做只会增加编程复杂度,而且对于初学者来说并不是好事。在初学过程中,抓大放小,抓住核心矛盾而适当忽略细节是必要的。
|
14
karia 2015-12-05 19:24:16 +08:00
每天切题切烦的时候就回去切水题。。。
|