考后反思

 

分享我挂掉的经验

我考虑到了两个相连,三个相连,1个单独

然后没考虑到这个

题目里都给了

改完80分

第一题

都是考完试立马就发现的错误,还没有看题解自己突然想到自己的错误、

#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define A 100000
ll a,b,x,y,aa,bb,cc,t;
ll exgcd(ll a,ll b,ll &x,ll &y)
{
    if(b==0)
    {
        x=1;
        y=0;
        return a;
    }
    ll c=exgcd(b,a%b,x,y);
    ll z=x;x=y;y=z-y*(a/b);
    return c;
}
int main()
{
    scanf("%lld",&t);
    while(t--)
    {
        scanf("%lld%lld%lld",&aa,&bb,&cc);
        if(aa==1&&bb==1){
            if(cc>=65537){
                printf("ZenMeZheMeDuo\n");
            }
            else printf("%lld\n",max(cc-1,0ll));
            continue;
        }
        if(aa+bb==cc){
            printf("1 1\n");
            continue;
        }
        x=0,y=0;
        ll g=exgcd(aa,bb,x,y),ans=0;
        x=x*cc/g,y=y*cc/g;
        if(x>0&&y>0) ans++;
        ll x2=x,y2=y,x3=x,y3=y;
        while(y2>0){
            x2+=bb/g;
            y2-=aa/g;
            if(x2>0&&y2>0) ans++;
        }
        while(x3>0){
            x3-=bb/g;
            y3+=aa/g;
            if(x3>0&&y3>0) ans++;
        }
        if(ans<=65535)
        cout<<ans<<endl;
        else
        cout<<"ZenMeZheMeDuo"<<endl;
    }
}

我为什么要输出1 1 啊?,一共就一个输出

巨傻逼,改完80分

总结

考试时状态还行,做题挺顺的,感觉自己如有神祝,比前几次考试状态好的多,然后代码也基本没有调,大多数都是打完就输出样例对了。

结果这场考试被两个傻逼错误毁了,

猜你喜欢

转载自www.cnblogs.com/znsbc-13/p/11225101.html