2021暑假每日一题 week3 未完结
Posted 辉小歌
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2021暑假每日一题 week3 未完结相关的知识,希望对你有一定的参考价值。
3776. 水果拼盘【难度: 简单 / 知识点: 贪心】
#include<bits/stdc++.h>
using namespace std;
int main(void)
{
int t; cin>>t;
while(t--)
{
int a,b,c,d,e,f; cin>>a>>b>>c>>d>>e>>f;
if(e>f)
{
if(d<=a) cout<<d*e<<endl;
else cout<<a*e+min(min(b,c),d-a)*f<<endl;
}
else
{
int t=min(min(b,c),d);
int sum=t*f;
cout<<sum+min(a,d-t)*e<<endl;
}
}
}
3777. 砖块 【难度: 一般 / 知识点: 模拟】
#include<bits/stdc++.h>
using namespace std;
int main(void)
{
int t; cin>>t;
while(t--)
{
int n; cin>>n;
string s,s1,s2; cin>>s;
vector<int>a,b;
s1=s2=s;
for(int i=0;i<s1.size()-1;i++)//全变成W
{
if(s1[i]=='B')
{
a.push_back(i+1);
if(s1[i+1]=='W') s1[i+1]='B';
else s1[i+1]='W';
}
}
for(int i=0;i<s2.size()-1;i++)
{
if(s2[i]=='W')
{
b.push_back(i+1);
if(s2[i+1]=='W') s2[i+1]='B';
else s2[i+1]='W';
}
}
if(s1[n-1]=='W'||s2[n-1]=='B')
{
if(s1[n-1]=='W')
{
cout<<a.size()<<endl;
if(a.size())
{
for(int i=0;i<a.size();i++) cout<<a[i]<<" ";
cout<<endl;
}
}
else
{
cout<<b.size()<<endl;
if(b.size())
{
for(int i=0;i<b.size();i++) cout<<b[i]<<" ";
cout<<endl;
}
}
}
else puts("-1");
}
return 0;
}
#include <iostream>
#include <cstring>
#include <algorithm>
#include <vector>
using namespace std;
int n;
void update(char& c)
{
if (c == 'W') c = 'B';
else c = 'W';
}
bool check(string s, char c)
{
vector<int> res;
for (int i = 0; i + 1 < n; i ++ )
{
if (s[i] != c)
{
update(s[i]);
update(s[i + 1]);
res.push_back(i);
}
}
if (s.back() != s[0]) return false;
cout << res.size() << endl;
for (auto x: res) cout << x + 1 << ' ';
if (res.size()) cout << endl;
return true;
}
int main()
{
int T;
cin >> T;
while (T -- )
{
string s;
cin >> n >> s;
if (!check(s, 'W') && !check(s, 'B')) puts("-1");
}
return 0;
}
以上是关于2021暑假每日一题 week3 未完结的主要内容,如果未能解决你的问题,请参考以下文章