Acwing第 69 场周赛完结
Posted 辉小歌
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Acwing第 69 场周赛完结相关的知识,希望对你有一定的参考价值。
https://www.acwing.com/activity/content/competition/problem_list/2291/
目录
4615. 相遇问题
#include<bits/stdc++.h>
using namespace std;
int main(void)
int t; cin>>t;
while(t--)
int x,y,a,b; cin>>x>>y>>a>>b;
int sum=y-x,temp=a+b;
if(sum%temp==0) cout<<sum/temp<<endl;
else cout<<-1<<endl;
4616. 击中战舰【思维】
将所有可能的战舰个数存一下,余下a个其他全部打下,再打一次必中。
#include<bits/stdc++.h>
using namespace std;
int main(void)
int n,a,b,k; cin>>n>>a>>b>>k;
string s; cin>>s;
vector<int>ve;
int cnt=0;
for(int i=0;i<s.size();i++)
if(s[i]=='0')
cnt++;
if(cnt==b) ve.push_back(i+1),cnt=0;
else cnt=0;
cout<<ve.size()-a+1<<endl;
//ve.size() 可能的总的战舰数-a 将确定的a个战舰留下来其他的打死
//+1 再来一发必中a个战舰中的一个
for(int i=0;i<ve.size()-a+1;i++) cout<<ve[i]<<" ";
4617. 解方程【找规律】
涉及到位运算的必须想位。一般先打表找一下规律。本题可以轻松的看出规律。
#include<bits/stdc++.h>
using namespace std;
int main(void)
int t; cin>>t;
while(t--)
int a; scanf("%d",&a);
int cnt=1;
for(int i=0;i<=31;i++)
if((a>>i)&1) cnt=cnt*2;
printf("%d\\n",cnt);
return 0;
以上是关于Acwing第 69 场周赛完结的主要内容,如果未能解决你的问题,请参考以下文章