POJ3902 The Bad Number

来源:互联网 发布:网络用语什么叫狗粮 编辑:程序博客网 时间:2024/05/29 09:31

题意思路这里都写的很清楚→ →http://hi.baidu.com/chenwenwen0210/item/b4f142d53129fdc954347f11

我觉得这题真是太厉害了 作为一个程序员 严谨 认真 记忆力好 实在是太重要了 比起算法 不粗心大意显然更重要啊!

而这一题极大的考验了我们的耐心 细心。。bug王真心给跪了。。。


#include<iostream>#include<cstdio>#include<vector>#include<algorithm>#include<cstring>using namespace std;int main(){    int tmp,k,m,n,ans,t,res,tmpres;    scanf("%d",&t);    while(t--)    {        ans=0;        scanf("%d%d%d",&n,&m,&k);        if(n==1)        {            printf("-1\n");            continue;        }        if(k==1)        {            if(m%n==0)                printf("-1\n");            else printf("%d\n",m);            continue;        }        if(n==2)        {            if(m%n==0) printf("-1\n");            else            {                if(k%2==0) k--;                ans=m/k;                res=m%k;                if(res>0)                {                    ans++;                    if(res%2==0)ans++;                }                printf("%d\n",ans);            }            continue;        }        if(k%n==0) k--;        res=m%k;        ans+=m/k;        if(res==0)        {            if(ans%n==0) ans++;            printf("%d\n",ans);            continue;        }        else//res>0        {            ans++;            if(ans%n==0) ans++;            else            {                if(res%n==0)                {                    if(ans==1) ans++;                    else if((k-1)%n==0)                    {                        bool flag=false;                        for(int i=1;i<n&&i+res<=k&&i<k;i++)                        {                            if((res+i)%n!=0&&(k-i)%n!=0)                            {                                flag=true;                                break;                            }                        }                        if(!flag)                        {                            ans++;                            if(ans%n==0) ans++;                        }                    }                }            }            printf("%d\n",ans);        }    }    return 0;}


原创粉丝点击