题解 AT833 【縞模様】
AdminJoker · · 题解
呀,第一篇题解,(虽然有点晚,都已经大一了才写了个入门题的题解)
#include<bits/stdc++.h>
using namespace std;
int main(){
int a,b,pi[1000],sum = 0, ans = 9999999;
cin>>a>>b;
for(int i = 0;i<a;i++){
cin>>pi[i];
}
for(int x = 1;x<=10;x++){
for(int y = 1;y<=10;y++){
int c[1000];
for(int i = 0;i<a;i++){
c[i]=pi[i];
}
sum = 0;
if(x==y) continue;
if(c[0]!=x) {
c[0] = x;
sum++;
if(sum>ans) continue;
}
for(int i = 1;i<a;i++){
if(c[i-1]==x&&c[i]==y) {
continue;
}
else if(c[i-1]==y&&c[i]==x) {
continue;
}
else{
if(c[i-1]==x) c[i] = y;
else if(c[i-1]==y) c[i] = x;
sum++;
if(sum>ans) break;
}
}
ans = min(sum,ans);
}
}
cout<<ans*b<<endl;
}
这个题可以用暴力枚举搞定,没啥技术含量,控制好逻辑,记得加回车