第一组数据为什么会输出0

P2285 [HNOI2004] 打鼹鼠

@[我叫小明0\_0](/space/show?uid=10073) 我看了,第一组数据 n = m = 0???!我也错了,估计要特判
by Deny_小田 @ 2016-08-26 08:15:32


加上这一句 ```cpp if(n == m&&n == 0){ printf("2\n"); return 0; } ``` 第一个点就过了~~
by Deny_小田 @ 2016-08-26 08:18:28


```cpp #include<cstdio> #define abs(x) ((x)>=0?(x):(-(x))) #define max(a,b) ((a)>(b)?(a):(b)) int n,m,ans=-2147483647; int a[10001],b[10001],t[10001],f[10001]; int main() { scanf("%d %d",&n,&m); for(int i=1;i<=m;i++) { scanf("%d %d %d",&t[i],&a[i],&b[i]); f[i]=1; } for(int i=1;i<=m;i++) { for(int j=i-1;j>=1;j--) if(abs(a[i]-a[j])+abs(b[i]-b[j])<=t[i]-t[j]) f[i]=max(f[i],f[j]+1); ans=max(ans,f[i]); } printf("%d",ans); } ```
by Mark_ZZY @ 2017-05-30 15:54:54


|