第十题(NOIP2011)
#include<cstring>
#include<iostream>
#include<string>
using namespace std;
const int SIZE=10000;
const int LENGTH=10;
int n,m,a[SIZE][LENGTH];
int h(int u,int v){
int ans,i;
ans=0;
for(i=1;i<=n;i++)
if(a[u][i]!=a[v][i])ans++;
return ans;
}
int main() {
int sum,i,j;
cin>>n;
memset(a,0,sizeof(a));
m=1;
while(1){
i=1;
while((i<=n)&&(a[m][i]==1))i++;
if(i>n) break;
m++;
a[m][i]=1;
for(j=i+1;j<=n;j++)a[m][j]=a[m-1][j];
}
sum=0;
for(i=1;i<=m;i++)
for(j=1;j<=m;j++)sum+=h(i,j);
cout<<sum<<endl;
return 0;
}
- 【判断题】第21行至多执行n次。
{{ select(1) }}
- 【判断题】将第12行的!=改成==,结果不影响。
{{ select(2) }}
- 【判断题】输入的n为11,不会数组越界。
{{ select(3) }}
- 【判断题】该程序可以正常运行。
{{ select(4) }}
- 【选择题】输入7,输出结果为( )。
{{ select(5) }}
- 【选择题】该算法的时间复杂度为( )。
{{ select(6) }}