/ Vijos / 讨论 / 过河 /

不将i定义为全局变量case#2就runtimeError,为什么?

###代码
**
#include <iostream>
#include <climits>
#include <algorithm>
#include <cstdio>
#include <string.h>
using namespace std;
const int INF=INT_MAX;
int L,S,T,M,num[200],stone[20],ans=INF,i;//不在这里定义一个i就不行,但是这个全局的i是没有用的
inline int mins(int a,int b)
{
return a<b?a:b;
}
void finds()
{
int i,dl=T,p=0,now=0,tot=0;
for( i=1;i<L+T;i++)
{
int min=INT_MAX;
for(int j=S;j<=T;j++)
stone[i%T]=mins(stone[i%T],stone[(i-j+T)%T]);
if(num[p]==i)
{
stone[i%dl]++;
p++;
}
if(now==stone[i%dl])
{
tot++;
// now=stone[(i+1)%dl];
}
else
{
now=stone[i%dl];
tot=0;
}
if (tot==T)
{
i+=(mins(num[p]-T,L)-i)/T*T;
}
}
}
int main()
{
int i;
cin>>L>>S>>T>>M;
for(i=0;i<M;i++)
{
scanf("%d",&num[i]);
}
if (S==T)
{
ans=0;
for (i=0;i<M;i++)
if (num[i]%T==0)
ans++;
printf("%d",ans);
return 0;
}
sort(num,num+M);
for(i=1;i<T;i++)
{
stone[i]=INT_MAX;
}
finds();
for (i=0;i<T;i++)
{
ans=mins(ans,stone[i]);
}
printf("%d\n",ans);
}
**

3 条评论

  • @ 2015-01-15 22:45:18

    搞下来noip2005的数据调一下吧……
    其实Ac不代表你没re……有可能是re没被检查出来

  • @ 2015-01-11 21:04:03

    越界了

  • @ 2015-01-05 19:53:50

    这不科学0 0

  • 1

信息

ID
1002
难度
7
分类
动态规划 点击显示
标签
递交数
25191
已通过
4365
通过率
17%
被复制
62
上传者