L2-052 吉利矩阵(奇异搞笑暴力+猜样例打表AC)

下面我们直接放代码,可以看出这是学完for循环就能看懂的,很好的一个工作。

题面在此

L2-052 吉利矩阵(奇异搞笑暴力+猜样例打表AC)_第1张图片

#include
using namespace std;
int l,n;
int main(){
    ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
    cin>>l>>n;
    if(n==2){
        int ans=0;
        for(int i=0; i<=l; i++){
            for(int j=0; j<=l; j++){
                if(i+j>l) break;
                for(int a=0; a<=l; a++){
                    if(a+i>l) break;
                    for(int b=0; b<=l; b++){
                        if(b+j>l) break;
                        if(a+b>l) break;
                        if(a+b==l&&b+j==l&&i+j==l&&i+a==l) ans++;
                    }
                }
            }
        }
        cout<l) break;
                for(int c=0; c<=l; c++){
                    if(a+b+c>l) break;
                    for(int d=0; d<=l; d++){
                        if(a+d>l) break;
                        for(int e=0; e<=l; e++){
                            if(e+b>l) break;
                            if(e+d>l) break;
                            for(int f=0; f<=l; f++){
                                if(f+c>l) break;
                                if(f+e+d>l) break;
                                for(int g=0; g<=l; g++){
                                    if(g+a+d>l) break;
                                    for(int h=0; h<=l; h++){
                                        if(g+h>l) break;
                                        if(b+e+h>l) break;
                                        for(int i=0; i<=l; i++){
                                            if(g+h+i>l) break;
                                            if(c+f+i>l) break;
                                            if(a+b+c==l&&d+e+f==l&&g+h+i==l&&a+d+g==l&&b+e+h==l&&c+f+i==l) ans++;
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
        cout<l) break;
                for(int c=0; c<=l; c++){
                    if(a+b+c>l) break;
                    for(int d=0; d<=l; d++){
                        if(a+b+c+d>l) break;
                        for(int e=0; e<=l; e++){
                            if(a+e>l) break;
                            for(int f=0; f<=l; f++){
                                if(f+b>l) break;
                                if(f+e>l) break;
                                for(int g=0; g<=l; g++){
                                    if(g+c>l) break;
                                    if(e+f+g>l) break;
                                    for(int h=0; h<=l; h++){
                                        if(h+d>l) break;
                                        if(e+f+g+h>l) break;
                                        for(int i=0; i<=l; i++){
                                            if(i+a+e>l) break;
                                            for(int j=0; j<=l; j++){
                                                if(j+f+b>l) break;
                                                if(i+j>l) break;
                                                for(int k=0; k<=l; k++){
                                                    if(k+g+c>l) break;
                                                    if(j+i+k>l) break;
                                                    for(int p=0; p<=l; p++){
                                                        if(p+d+h>l) break;
                                                        if(i+k+j+p>l) break;
                                                        for(int u=0; u<=l; u++){
                                                            if(u+i+a+e>l) break;
                                                            for(int v=0; v<=l; v++){
                                                                if(v+j+f+b>l) break;
                                                                if(u+v>l) break;
                                                                for(int w=0; w<=l; w++){
                                                                    if(w+k+g+c>l) break;
                                                                    if(v+u+w>l) break;
                                                                    for(int x=0; x<=l; x++){
                                                                        if(x+p+d+h>l) break;
                                                                        if(u+v+w+x>l) break;
                                                                        if(x+p+d+h==l&&w+k+g+c==l&&a+b+c+d==l&&e+f+g+h==l&&i+j+k+p==l&&u+v+w+x==l&&u+i+a+e==l&&v+j+f+b==l) ans++;
                                                                    }
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
        cout<

代码量看上去很多,实际上一点也不少,但是我们有复制粘贴,写完一组改一改变量就好

最后祝你身体健康天天AC

L2-052 吉利矩阵(奇异搞笑暴力+猜样例打表AC)_第2张图片

你可能感兴趣的:(矩阵,c++,算法)