本文同步发表于洛谷
A. https://www.luogu.com.cn/blog/Alex-ZJY/solution-at-abc277-a
B. https://www.luogu.com.cn/blog/Alex-ZJY/solution-at-abc277-b
C. https://www.luogu.com.cn/paste/orn0vf27
A.^{-1}
题意
给定一个长度为 \(n\) 的排列 \(P\),以及一个数字 \(X\)(\(1 \le X \le n\))。求排列中,第几位的元素为 \(X\)。
分析
依次输入每个数 \(a_i\),如果这个数等于 \(x\),就用 \(ans\) 记录这个数的编号 \(i\),最后输出 \(ans\) 即可。
\(\text{AC code}\)
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,x,ans=0;
cin>>n>>x;
for(int i=1;i<=n;i++)
{
int a;
cin>>a;
if(a==x) ans=i;
}
cout<<ans<<endl;
return 0;
}
B.Playing Cards Validation
题意
给出 \(n\) 个长度为 \(2\) 的字符串,
要求:
- 第一个字符必须是
HDCS
中的一个; - 第二个字符必须是
A23456789TJQK
中的一个; - 没有重复的字符串
符合条件输出Yes
,不符合输出No
。
分析
用 \(flag\) 标记是否符合条件,初值为 \(0\)。
- 对于前两个条件,用
if
语句判断即可,不符合将 \(flag\) 标记为 \(1\); - 对于第三个条件,可以用
map
开一个桶,每次判断输入的字符串的桶是否为空,如果为空,将桶变为 \(1\);如果不为空,说明字符串重复了,将 \(flag\) 标记为 \(1\)。
最后判断 \(flag\) 是否为 \(0\),为 \(0\) 输出 Yes
,不为 \(0\) 输出 No
。
\(\text{AC code}\)
#include<bits/stdc++.h>
using namespace std;
map<string,int>a;
int main()
{
int n;
string s[55];
cin>>n;
bool flag=0;
for(int i=1;i<=n;i++)
{
cin>>s[i];
if(s[i][0]!='H'&&s[i][0]!='D'&&s[i][0]!='C'&&s[i][0]!='S') flag=1;
if(s[i][1]!='A'&&s[i][1]!='2'&&s[i][1]!='3'&&s[i][1]!='4'&&s[i][1]!='5'&&s[i][1]!='6'&&s[i][1]!='7'&&s[i][1]!='8'&&s[i][1]!='9'&&s[i][1]!='T'&&s[i][1]!='J'&&s[i][1]!='Q'&&s[i][1]!='K') flag=1;
if(a[s[i]]==1) flag=1;
else a[s[i]]=1;
}
if(flag==1) cout<<"No"<<endl;
else cout<<"Yes"<<endl;
return 0;
}
C.Ladder Takahashi
这道题我不懂,同班大佬给了一个代码,AC了,但是我发现它不符合题意,是错的,所以大家不要抄,只是看看。
#include<bits/stdc++.h>
using namespace std;
struct node
{
int x,y;
}a[200010];
bool cmp(node a,node b)
{
return (a.x<b.x||(a.x==b.x&&a.y<b.y));
}
int ans=1;
int main()
{
int n;
cin>>n;
for(int i=1;i<=n;i++)
{
int x,y;
scanf("%d%d",&x,&y);
a[i].x=min(x,y);
a[i].y=max(x,y);
}
sort(a+1,a+1+n,cmp);
for(int i=1;i<=n;i++)
{
if(a[i].x<=ans&&a[i].y>=ans) ans=a[i].y;
}
cout<<ans<<endl;
return 0;
}
我的洛谷号Alex_ZJY,希望大家能认可我,谢谢
给个赞再走呗qwq
标签:AtCoder,题意,Beginner,int,text,ans,flag,&&,277 From: https://www.cnblogs.com/zhujiangyuan/p/16907240.html