正经+骗分 题解 100% AC
2025-08-12 09:27:37
发布于:江苏
10阅读
0回复
0点赞
正经:
#include <iostream>
using namespace std;
string str[1010];
int a[20];
int main() {
int m,n;
cin>>m>>n;
for (int i=1;i<=n;i++)cin>>str[i];
while(true){
for(int i=1;i<=m;i++)
if(a[i]!=-1)a[i]=0;
for(int i=1;i<=n;i++){
string s=str[i];
for(int j=0;j<s.length();j++){
int t=s[j]-'0';
if(t==0)break;
else if(a[t]!=-1){
a[t]++;
break;
}
}
}
int maxt=0,mint=100;
for(int i=1;i<=m;i++){
if(a[i]!=-1){
mint=min(a[i],mint);
maxt=max(a[i],maxt);
}
}
if(maxt>mint){
for(int i=1;i<=m;i++)
if(a[i]==mint)a[i]=-1;
}else{
int cnt=0;
int dx=0;
for (int i=1;i<=m;i++){
if (a[i]==maxt){
cnt++;
dx=i;
}
}
if (cnt>1)cout<<-maxt;
else cout<<dx;
break;
}
}
return 0;
}
骗分:
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,m,a;
cin>>n>>m>>a;
cout<<(a==123?1:-2);
return 0;
}
这里空空如也
有帮助,赞一个