【蓝桥杯第九场小白赛】(部分)

发布于:2024-04-11 ⋅ 阅读:(140) ⋅ 点赞:(0)

最近写的零零散散的,感觉这两天遇到的题对于短时间提升意义已经不大了,还是做简单题保持手感吧哎

盖印章

#include <iostream>
using namespace std;
using LL=long long;
int main()
{
    ios::sync_with_stdio(false);
    cin.tie(0),cout.tie(0);
    LL n,m,k;
    int cnt=0;
    cin>>n>>m>>k;
     for(int i=1;i<=n;i++)
       {
            string s;
            cin>>s;
            for(int j=0;j<m;j++)
            {
                if(s[j]=='1')
                cnt++;
            }
        }
         cout<<cnt-2*k<<' '<<3*k-cnt;
   
  return 0;
}
/*#include<bits/stdc++.h>
using namespace std;

int main()
{
    int n,m,k;
    cin>>n>>m>>k;
    
    int cnt=0;//统计1的个数
    for(int i=1;i<=n;i++)
        for(int j=1;j<=m;j++)
        {
            char c;
            cin>>c;
            if(c=='1')cnt++;
        }

    cout<<cnt-2*k<<' '<<3*k-cnt;//输出A和B的使用次数

    return 0;
}

#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define endl '\n'

int main() {
    ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
    int n, m, k; cin >> n >> m >> k;
    ll x = 0;
    for (int i = 1; i <= n; i++) {
        string s; cin >> s;
        x += count(s.begin(), s.end(), '1');
    }
    cout << x - 2 * k << " " << 3 * k - x << endl;
    return 0;
}*/

抽象,解题区法秒了()

字典树考试

#include <bits/stdc++.h>
using namespace std;
long long a[34]={0};
long long sum=0;

int main()
{
    long long n;
    cin>>n;
    int c;
    for(long long  i=1;i<=n;i++)
    { 
        cin>>c;
        int k=0;
        int z=0;
        while(c)
        {
          k=c%2;
          if(k==1)
          a[z]++;
            z++;
            c/=2;
        }

    }
    for(int i=0;i<=31;i++)
    {
        if(a[i]>=2)
        sum+=(a[i]*(a[i]-1))/2;
    }
    cout<<sum<<endl;
    return 0;
}

不是很明白,有没有大佬看明白题的意思了,先在这里放一下吧


网站公告

今日签到

点亮在社区的每一天
去签到