求助 11 年 提高组初赛 26题
  • 板块学术版
  • 楼主W_SUN
  • 当前回复6
  • 已保存回复6
  • 发布时间2022/8/29 08:26
  • 上次更新2023/10/27 13:15:19
查看原帖
求助 11 年 提高组初赛 26题
341801
W_SUN楼主2022/8/29 08:26

RT,不知道这个程序是在干什么。

#include<iostream>
#include<cstring>
#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;
}

输入: 7

2022/8/29 08:26
加载中...