Toyota Programming Contest 2024#1(AtCoder Beginner Contest 337)
A - Scoreboard
思路
简单的模拟,统计一下总分数就可以了
Code
#include<bits/stdc++.h>
using namespace std;
#define int long long
void solve(){
int n;
int ans1=0;
int ans2=0;
cin>>n;
for(int i=1;i<=n;i++){
int x,y;cin>>x>>y;
ans1+=x;
ans2+=y;
}
if(ans1>ans2){
cout<<"Takahashi"<<endl;
return ;
}
else if(ans2>ans1){
cout<<"Aoki"<<endl;
return ;
}
else{
cout<<"Draw"<<endl;
return ;
}
}
signed main(){
int t=1;
while(t--) solve();
return 0;
}
B - Extended ABC
思路
在给定的字符串中只要出现s[i+1]<s[i]就是不合法字符串,否则就是合法的
Code
#include<bits/stdc++.h>
using namespace std;
#define int long long
void solve(){
string s;
cin>>s;
// if(s.size()==1){
// if(s[0]!='A'&&s[0]!='B'&&s[0]!='C'){
// cout<<"NO"<<endl;
// return ;
// }
// else{A
// cout<<"YES"<<endl;
// return ;
// }
// }
for(int i=0;i<s.size();i++){
if(s[i]-s[i-1]<0){
cout<<"No"<<endl;
return ;
}
}
cout<<"Yes"<<endl;
return ;
}
signed main(){
int t=1;
while(t--) solve();
return 0;
}
C - Lining Up 2
思路
只要用map函数哈希一下就可以了
Code
#include<bits/stdc++.h>
using namespace std;
#define int long long
void solve(){
int n;
cin>>n;
int st=0;
std::vector<int> a(n+1);
for(int i=1;i<=n;i++){
cin>>a[i];
if(a[i]==-1){
st=i;
}
}
st=-1;
std::map<int , int> mp;
for(int i=1;i<=n;i++){
mp[a[i]]=i;
// mp2[i]=st;
}
// cout<<st;
for(int i=1;i<=n;i++){
cout<<mp[st]<<" ";
st=mp[st];
}
}
signed main(){
int t=1;
while(t--) solve();
return 0;
}
Toyota Programming Contest 2024#1(AtCoder Beginner Contest 337)
A - Scoreboard
思路
简单的模拟,统计一下总分数就可以了
Code
#include<bits/stdc++.h>
using namespace std;
#define int long long
void solve(){
int n;
int ans1=0;
int ans2=0;
cin>>n;
for(int i=1;i<=n;i++){
int x,y;cin>>x>>y;
ans1+=x;
ans2+=y;
}
if(ans1>ans2){
cout<<"Takahashi"<<endl;
return ;
}
else if(ans2>ans1){
cout<<"Aoki"<<endl;
return ;
}
else{
cout<<"Draw"<<endl;
return ;
}
}
signed main(){
int t=1;
while(t--) solve();
return 0;
}
B - Extended ABC
思路
在给定的字符串中只要出现s[i+1]<s[i]就是不合法字符串,否则就是合法的
Code
#include<bits/stdc++.h>
using namespace std;
#define int long long
void solve(){
string s;
cin>>s;
// if(s.size()==1){
// if(s[0]!='A'&&s[0]!='B'&&s[0]!='C'){
// cout<<"NO"<<endl;
// return ;
// }
// else{A
// cout<<"YES"<<endl;
// return ;
// }
// }
for(int i=0;i<s.size();i++){
if(s[i]-s[i-1]<0){
cout<<"No"<<endl;
return ;
}
}
cout<<"Yes"<<endl;
return ;
}
signed main(){
int t=1;
while(t--) solve();
return 0;
}
C - Lining Up 2
思路
只要用map函数哈希一下就可以了
Code
#include<bits/stdc++.h>
using namespace std;
#define int long long
void solve(){
int n;
cin>>n;
int st=0;
std::vector<int> a(n+1);
for(int i=1;i<=n;i++){
cin>>a[i];
if(a[i]==-1){
st=i;
}
}
st=-1;
std::map<int , int> mp;
for(int i=1;i<=n;i++){
mp[a[i]]=i;
// mp2[i]=st;
}
// cout<<st;
for(int i=1;i<=n;i++){
cout<<mp[st]<<" ";
st=mp[st];
}
}
signed main(){
int t=1;
while(t--) solve();
return 0;
}
D - Cheating Gomoku Narabe
思路
前缀和处理一下'x'和'.'的个数,横向纵向都处理一下,然后在找最小值就可以了,模拟实现可以,滑动窗口也行
标签:std,AtCoder,Beginner,Contest,int,namespace,long,st From: https://www.cnblogs.com/du463/p/17977665