社区讨论

C++ 没见过的编译失败方式

P1464[PacNW 1999] Function参与者 5已保存回复 13

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
13 条
当前快照
1 份
快照标识符
@lo86ewac
此快照首次捕获于
2023/10/27 13:32
2 年前
此快照最后确认于
2023/10/27 13:32
2 年前
查看原帖
CPP
#include<iostream>
using namespace std;
int ia[99999999999];
int ib[99999999999];
int ic[99999999999];
int ans[99999999999];
int i=1;
int w(int a,int b,int c){
    if(a<=0||b<=0||c<=0){
        ia[i]=a;
        ib[i]=b;
        ic[i]=c;
        ans[i]=1;
        i++;
        return 0;
    }
    else if(a>20||b>20||c>20){
        w(20,20,20);
        i++;
        return 0;
    }
    else if(a<b&&b<c){
        int d=w(a,b,c-1);
        int e=w(a,b-1,c-1);
        int f=w(a,b-1,c);
        int g=d+e-f;
        ia[i]=a;
        ib[i]=b;
        ic[i]=c;
        ans[i]=g;
        i++;
        return 0;
    }
    int d=w(a-1,b,c);
    int e=w(a-1,b-1,c);
    int f=w(a-1,b,c-1);
    int g=w(a-1,b-1,c-1);
    int h=d+e+f-g;
    ia[i]=a;
    ib[i]=b;
    ic[i]=c;
    ans[i]=h;
    i++;
    return 0;
}
int main(){
    int a,b,c,i=1;
    for(;;){
        cin>>a>>b>>c;
        if(a==-1&&b==-1&&c==-1) break;
        else w(a,b,c);
    }
    for(int d=1;d<=i;d++) cout<<"w("<<ia[d]<<", "<<ib[d]<<", "<<ic[d]<<") = "<<ans[d]<<endl;
}

回复

13 条回复,欢迎继续交流。

正在加载回复...