题目描述
blablabla
样例
blablabla
算法1
(暴力枚举) $O(n^2)$
blablabla
时间复杂度
参考文献
C++ 代码
#include<iostream>
using namespace std;
int n;
int main()
{
cin>>n;
if(n==1)cout<<1;
if(n==2)cout<<1<<2<<endl<<2<<1;
if(n==3)
for(int i=1;i<=n;i++)for(int j=1;j<=n;j++)for(int k=1;k<=n;k++)if(i!=j&&i!=k&&j!=k)cout<<i<<" "<<j<<" "<<k<<endl;
if(n==4)
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
for(int k=1;k<=n;k++)
for(int i1=1;i1<=n;i1++)
if(i!=j&&i!=k&&j!=k&&i!=i1&&j!=i1&&k!=i1)
cout<<i<<" "<<j<<" "<<k<<" "<<i1<<endl;
if(n==5)
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
for(int k=1;k<=n;k++)
for(int i1=1;i1<=n;i1++)
for(int i2=1;i2<=n;i2++)
if(i!=j&&i!=k&&i!=i1&&i!=i2)
if(j!=k&&j!=i1&&j!=i2&&k!=i1&&k!=i2&&i1!=i2)
cout<<i<<" "<<j<<" "<<k<<" "<<i1<<" "<<i2<<endl;
if(n==6)
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
for(int k=1;k<=n;k++)
for(int i1=1;i1<=n;i1++)
for(int i2=1;i2<=n;i2++)
for(int i3=1;i3<=n;i3++)
if(i!=j&&i!=k&&i!=i1&&i!=i2&&i!=i3)
if(j!=k&&j!=i1&&j!=i2&&j!=i3)
if(k!=i1&&k!=i2&&k!=i3&&i1!=i2&&i1!=i3&&i2!=i3)
cout<<i<<" "<<j<<" "<<k<<" "<<i1<<" "<<i2<<" "<<i3<<endl;
if(n==7)
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
for(int k=1;k<=n;k++)
for(int i1=1;i1<=n;i1++)
for(int i2=1;i2<=n;i2++)
for(int i3=1;i3<=n;i3++)
for(int i4=1;i4<=n;i4++)
if(i!=j&&i!=k&&i!=i1&&i!=i2&&i!=i3&&i!=i4)
if(j!=k&&j!=i1&&j!=i2&&j!=i3&&j!=i4)
if(k!=i1&&k!=i2&&k!=i3&&k!=i4&&i1!=i2&&i1!=i3&&i1!=i4)
if(i2!=i3&&i2!=i4&&i3!=i4)
cout<<i<<" "<<j<<" "<<k<<" "<<i1<<" "<<i2<<" "<<i3<<" "<<i4<<endl;
if(n==8)
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
for(int k=1;k<=n;k++)
for(int i1=1;i1<=n;i1++)
for(int i2=1;i2<=n;i2++)
for(int i3=1;i3<=n;i3++)
for(int i4=1;i4<=n;i4++)
for(int i5=1;i5<=n;i5++)
if(i!=j&&i!=k&&i!=i1&&i!=i2&&i!=i3&&i!=i4&&i!=i5)
if(j!=k&&j!=i1&&j!=i2&&j!=i3&&j!=i4&&j!=i5)
if(k!=i1&&k!=i2&&k!=i3&&k!=i4&&k!=i5&&i1!=i2&&i1!=i3&&i1!=i4&&i1!=i5)
if(i2!=i3&&i2!=i4&&i2!=i5&&i3!=i4&&i3!=i5&&i4!=i5)
cout<<i<<" "<<j<<" "<<k<<" "<<i1<<" "<<i2<<" "<<i3<<" "<<i4<<" "<<i5<<endl;
if(n==9)
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
for(int k=1;k<=n;k++)
for(int i1=1;i1<=n;i1++)
for(int i2=1;i2<=n;i2++)
for(int i3=1;i3<=n;i3++)
for(int i4=1;i4<=n;i4++)
for(int i5=1;i5<=n;i5++)
{
int i6=45-i-j-k-i1-i2-i3-i4-i5;
if(i!=j&&i!=k&&i!=i1&&i!=i2&&i!=i3&&i!=i4&&i!=i5&&i!=i6)
if(j!=k&&j!=i1&&j!=i2&&j!=i3&&j!=i4&&j!=i5&&j!=i6)
if(k!=i1&&k!=i2&&k!=i3&&k!=i4&&k!=i5&&k!=i6)
if(i1!=i2&&i1!=i3&&i1!=i4&&i1!=i5&&i1!=i6)
if(i2!=i3&&i2!=i4&&i2!=i5&&i2!=i6&&i3!=i4&&i3!=i5&&i3!=i6&&i4!=i5&&i4!=i6)
if(i5!=i6)
cout<<i<<" "<<j<<" "<<k<<" "<<i1<<" "<<i2<<" "<<i3<<" "<<i4<<" "<<i5<<" "<<i6<<endl;
}
return 0;
}
算法2
(暴力枚举) $O(n^2)$
blablabla
时间复杂度
参考文献
C++ 代码
blablabla
pow(9,8)=43,046,721
运行4000多万就可以
这样写速度超快,只是写起来麻烦了一些,一秒都能通过