问题标题: 酷町堂:2639 三值排序

0
0
已解决
蔡乐毅
蔡乐毅
高级光能
高级光能

https://newcourse.codingtang.com/#/problem/problemSub?id=2639

如题

#include<iostream>

#include<cstdio>

using namespace std;

int a[1005],b[15],cnt;

int main(){

    int n;

    cin>>n;

    for(int i=1;i<=n;i++){

        cin>>a[i];

        b[a[i]]++;

    }

    b[2]=b[1]+b[2],b[3]=b[2]+b[3];

    for(int j=1;j<4;j++){

        for(int i=b[j-1]+1;i<=b[j];i++){

            if(a[i]!=j) {

                cnt++;

            }

        }

    }

    cout<<cnt/2+(cnt%2==1)*1;

    return 0;

}

87分代码

求思路

蔡乐毅在2020-10-25 15:12:29追加了内容

算了算了,我自行AC了

第一个打贴主是帅哥的采纳


0
0
蔡乐毅
蔡乐毅
高级光能
高级光能

@刘欣然 依次枚举

                memset(b,0,sizeof(b));//你学过吗?把b数组清0
                int x=i*i,y=j*j,z=k*k;
                bool f=0;
                b[x%10]++;
                b[x/10]++;
                b[y%10]++;
                b[y/10%10]++;
                b[y/100]++;
                b[z/1000]++;
                b[z/100%10]++;
                b[z/10%10]++;
                b[z%10]++;
                for(int i=1;i<=9;i++){
                    if(b[i]!=1){
                        f=1;
                    }
                }
                if(!f){
                    cout<<x<<' '<<y<<' '<<z<<endl;
                }

i是4~9,j是10~31,k是32~99

0
王子逸
王子逸
新手天翼
新手天翼

对啊,没人啊!

你先冷静一下,这题难度过大!!!劝你还是放弃吧!

王子逸在2020-10-19 12:58:31追加了内容

实在不行就快排!

0
0
蔡乐毅
蔡乐毅
高级光能
高级光能

真的没人了吗?

冷静冷静再冷静,来口康师傅冰红茶。

这贴都发了2天了

还没人啊!

我要回答