两个程序不是一样么,为什么第一个0分,第二个满分。
查看原帖
两个程序不是一样么,为什么第一个0分,第二个满分。
398504
lzm15096067472楼主2021/10/21 18:20
#include<iostream>
#include<algorithm>
#include<cmath>
#include<cstdio>
using namespace std;
int t,mod;
int pan(int x,int y,int n)
{
    int sx=x,sy=y;
    while(1)
    {x=(x+y)%mod;
    y=(x+y)%mod;
    if(!x) return 1;
    if(!y) return 0;
    if(x==sx&&y==sy&&n) return 3;
    n++;}
}
int main()
{
    int x,y,ans;
    cin>>t>>mod;
    while(t--)
    {
        cin>>x>>y;
        ans=pan(x,y,0);
        if(ans==3)
            cout<<"error"<<endl;
        if(ans==1) cout<<1<<endl;
        if(ans==2) cout<<2<<endl;

    }
 return 0;
}
#include<iostream>
#include<algorithm>
#include<cmath>
#include<cstdio>
using namespace std;
int t,mod,ans;
void pan(int x,int y,int n)
{
    int sx=x,sy=y;
    while(1)
    {
        
        x=(x+y)%mod;
        y=(x+y)%mod;
    if(!x) {ans=1;return;}
    if(!y) {ans=2;return;}
    if(x==sx&&y==sy&&n) {ans=3;return;}
    n++;}
}
int main()
{
    int x,y;
    cin>>t>>mod;
    while(t--)
    {
        cin>>x>>y;
        pan(x,y,0);
        if(ans==3)
            cout<<"error"<<endl;
        if(ans==1) cout<<1<<endl;
        if(ans==2) cout<<2<<endl;

    }
 return 0;
}

没用记忆化,用了记忆化全给我rt

2021/10/21 18:20
加载中...