题解 | #数独数组#

数独数组

https://www.nowcoder.com/practice/12e6adfa05f5417dbf5a0d85ff5fb93c

因为每个长度为 的窗口内都正好是 ,所以每个数字的出现次数只能是

故统计 的频次,且出现 次的数字个数恰好是 个,就YES,否则NO

void solve(){
	int n;cin>>n;
    vi c(10,0);
    for(int i=0;i<n;++i){
        int a;cin>>a;
        ++c[a];
    }
    int mx=n/9;
    int cnt=0;
    for(int i=1;i<=9;++i){
        if(c[i]!=mx&&c[i]!=mx+1){
            cout<<"NO";
            return;
        }
        if(c[i]==mx+1)++cnt;
    }
    if(cnt!=n%9){
        cout<<"NO";
        return;
    }
    cout<<"YES";
}
全部评论

相关推荐

评论
7
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务