rt.
把长度压到 1.1k 了,不知道哪还能压了。
#include<iostream>
#define T " "
#define f(a) for(a=1;a<=n;a++)
using namespace std;main(){int n,a,b,c,d,e,f,g,h,i;cin>>n;if(n==8)f(a)f(b)f(c)f(d)f(e)f(f)f(g)f(h)if(a+b+c+d+e+f+g+h==36&&a*b*c*d*e*f*g*h==40320&&a!=b&&a!=c&&a!=d&&a!=e&&a!=f&&a!=g&&a!=h&&b!=c&&b!=d&&b!=e&&b!=f&&b!=g&&b!=h&&c!=d&&c!=e&&c!=f&&c!=g&&c!=h&&d!=e&&d!=f&&d!=g&&d!=h&&e!=f&&e!=g&&e!=h&&f!=g&&f!=h&&g!=h)cout<<T<<a<<T<<b<<T<<c<<T<<d<<T<<e<<T<<f<<T<<g<<T<<h<<'\n';if(n==7)f(a)f(b)f(c)f(d)f(e)f(f)f(g)if(a+b+c+d+e+f+g==28&&a*b*c*d*e*f*g==5040&&a!=b&&a!=c&&a!=d&&a!=e&&a!=f&&a!=g&&b!=c&&b!=d&&b!=e&&b!=f&&b!=g&&c!=d&&c!=e&&c!=f&&c!=g&&d!=e&&d!=f&&d!=g&&e!=f&&e!=g&&f!=g)cout<<T<<a<<T<<b<<T<<c<<T<<d<<T<<e<<T<<f<<T<<g<<'\n';if(n==6)f(a)f(b)f(c)f(d)f(e)f(f)if(a+b+c+d+e+f==21&&a*b*c*d*e*f==720&&a!=b&&a!=c&&a!=d&&a!=e&&a!=f&&b!=c&&b!=d&&b!=e&&b!=f&&c!=d&&c!=e&&c!=f&&d!=e&&d!=f&&e!=f)cout<<T<<a<<T<<b<<T<<c<<T<<d<<T<<e<<T<<f<<'\n';if(n==5)f(a)f(b)f(c)f(d)f(e)if(a+b+c+d+e==15&&a*b*c*d*e==120&&a!=b&&a!=c&&a!=d&&a!=e&&b!=c&&b!=d&&b!=e&&c!=d&&c!=e&&d!=e)cout<<T<<a<<T<<b<<T<<c<<T<<d<<T<<e<<'\n';if(n==4)f(a)f(b)f(c)f(d)if(a+b+c+d==10&&a*b*c*d==24&&a!=b&&a!=c&&a!=d&&b!=c&&b!=d&&c!=d)cout<<T<<a<<T<<b<<T<<c<<T<<d<<'\n';}