A - Domino on Windowsill
思路:贪心
只要还有位置,多米诺骨牌就能摆上去。
MyCode:
#include <bits/stdc++.h>
using namespace std;
const int maxn=2e5+7,maxm=1e6+7,mod=1e9+7;
typedef long long int ll;
typedef unsigned long long ull;
inline void solve() {
int n,k1,k2,w,b;
cin>>n>>k1>>k2>>w>>b;
if((k1+k2)/2>=w && (2*n-k1-k2)/2>=b) cout<<"YES\n";
else cout<<"NO\n";
}
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int t;
cin>>t;
while(t--) {
solve();
}
return 0;
} B - Binary Removals
题意:删除任意几个不相邻的数,问是否可以保证字符串是升序的
思路:思维
只有当"11"出现在“00”前面的时候做不到
MyCode:
#include <bits/stdc++.h>
using namespace std;
const int maxn=2e5+7,maxm=1e6+7,mod=1e9+7;
typedef long long int ll;
typedef unsigned long long ull;
inline void solve() {
string s;
cin>>s;
int x=s.find("11"),y=s.rfind("00");
if(x==-1||y==-1||x>y) cout<<"YES\n";
else cout<<"NO\n";
}
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int t;
cin>>t;
while(t--) {
solve();
}
return 0;
} C - Minimum Grid Path
题意:从(0,0)走到(n,n),给定一个n,表示最多转n次方向,形成n-1条线段,输出线段长度与权值乘积之和的最小值。
思路:

京公网安备 11010502036488号