当前位置:网站首页>PAT(乙级)2022年夏季考试
PAT(乙级)2022年夏季考试
2022-07-06 05:58:00 【T_Y_F666】
PAT(乙级)2022年夏季考试题解
7-1 又是一道 A+B
15分
原题

算法标签
模拟 哈希
代码
#include<bits/stdc++.h>
#define int long long
#define rep(i, a, b) for(int i=a;i<b;++i)
#define Rep(i, a, b) for(int i=a;i>=b;--i)
using namespace std;
const int N = 10005;
int f[N][N];
int a[N], b[N];
inline int read(){
int s=0,w=1;
char ch=getchar();
while(ch<'0'||ch>'9'){if(ch=='-')w=-1;ch=getchar();}
while(ch>='0'&&ch<='9') s=s*10+ch-'0',ch=getchar();
return s*w;
}
void put(int x) {
if(x<0) putchar('-'),x=-x;
if(x>=10) put(x/10);
putchar(x%10^48);
}
unordered_map<string, int> ump={
{"1011111", 0},
{"0000011", 1},
{"1110110", 2},
{"1110011", 3},
{"0101011", 4},
{"1111001", 5},
{"1111101", 6},
{"1000011", 7},
{"1111111", 8},
{"1111011", 9},
};
vector<string> get(string str){
vector<string> res;
string word;
for (auto c: str){
if (c == ' '){
res.push_back(word);
word = "";
}
else word += c;
}
res.push_back(word);
return res;
}
signed main(){
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
string s, s1;
getline(cin, s);
getline(cin, s1);
vector<string> get00=get(s);
vector<string> get10=get(s1);
int a=0, b=0;
rep(i, 0, get00.size()){
a=a*10+ump[get00[i]];
}
rep(i, 0, get10.size()){
b=b*10+ump[get10[i]];
}
printf("%lld", (a+b));
return 0;
}
7-2 健身达人
分数 20
原题


算法标签
模拟 STL
代码
#include<bits/stdc++.h>
#define int long long
#define rep(i, a, b) for(int i=a;i<b;++i)
#define Rep(i, a, b) for(int i=a;i>=b;--i)
using namespace std;
const int N = 10005;
int f[N][N];
int a[N], b[N],c[N],d[N];
inline int read(){
int s=0,w=1;
char ch=getchar();
while(ch<'0'||ch>'9'){if(ch=='-')w=-1;ch=getchar();}
while(ch>='0'&&ch<='9') s=s*10+ch-'0',ch=getchar();
return s*w;
}
void put(int x) {
if(x<0) putchar('-'),x=-x;
if(x>=10) put(x/10);
putchar(x%10^48);
}
vector<vector<int>> vs;
vector<int> v;
vector<int> v1;
signed main(){
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
int n=read();
rep(i, 0, n){
rep(j, 0, 8){
f[i][j]=read();
}
}
// i列
rep(i, 1, 8){
int max=0;
rep(j, 0, n){
if(f[j][i]>max){
max=f[j][i];
}
}
rep(j, 0, n){
if(f[j][i]==max&&max){
v.push_back(f[j][0]);
}
}
vs.push_back(v);
v.erase(v.begin(), v.end());
}
int max1=0, max2=0;
rep(i, 0, n){
rep(j, 1, 8){
if(f[i][j])d[i]++;
c[i]+=f[i][j];
}
if(max1<c[i]&&d[i]>=3){
max1=c[i];
}
}
rep(i, 0, n){
if(c[i]==max1&&d[i]>=3){
v1.push_back(f[i][0]);
}
}
int cnt=0;
for(auto a:vs){
printf("Star %lld\n", ++cnt);
if(a.size())for(auto b:a){
printf("%06lld\n", b);
}else{
printf("NONE\n");
}
}
puts("Star of the week");
for(auto a:v1){
printf("%06lld\n", a);
}
return 0;
}
7-3 阶乘方程
分数 20
原题

算法标签
模拟 数学
代码
#include<bits/stdc++.h>
#define int long long
#define rep(i, a, b) for(int i=a;i<b;++i)
#define Rep(i, a, b) for(int i=a;i>=b;--i)
using namespace std;
const int N = 10005;
int f[N][N];
int a[N], b[N],c[N],d[N];
inline int read(){
int s=0,w=1;
char ch=getchar();
while(ch<'0'||ch>'9'){if(ch=='-')w=-1;ch=getchar();}
while(ch>='0'&&ch<='9') s=s*10+ch-'0',ch=getchar();
return s*w;
}
void put(int x) {
if(x<0) putchar('-'),x=-x;
if(x>=10) put(x/10);
putchar(x%10^48);
}
int mul(int a,int b){
int ans=1;
rep(i, a+1, b+1){
ans*=i;
if(ans>0x3f3f3f3f){
return -1;
}
}
return ans;
}
signed main(){
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
int n=read();
while(n--){
int a=read(), b=read(), c=read(), d=read();
if(mul(c, d)==mul(a, b)&&mul(a, b)!=-1){
puts("YES");
}else{
puts("NO");
}
}
return 0;
}
7-4 今天是周几
分数 20
原题

算法标签
模拟 哈希
代码
#include<bits/stdc++.h>
#define int long long
#define rep(i, a, b) for(int i=a;i<b;++i)
#define Rep(i, a, b) for(int i=a;i>=b;--i)
using namespace std;
const int N = 10005;
inline int read(){
int s=0,w=1;
char ch=getchar();
while(ch<'0'||ch>'9'){if(ch=='-')w=-1;ch=getchar();}
while(ch>='0'&&ch<='9') s=s*10+ch-'0',ch=getchar();
return s*w;
}
void put(int x) {
if(x<0) putchar('-'),x=-x;
if(x>=10) put(x/10);
putchar(x%10^48);
}
int ff(int a,int b, int c, int d, int e, int f, int dd){
int cnt=0;
int x, y, z;
if(dd==0){
x=a;
y=(a+1)%7;
z=(a+2)%7;
}
else if(dd==1){
x=(b-1+7)%7;
y=b;
z=(b+1)%7;
}else if(dd==2){
y=(c-1+7)%7;
x=(c-2+7)%7;
z=c;
}
if(d==x){
cnt+=1;
}if(e==y){
cnt+=2;
}if(f==z){
cnt+=4;
}
return cnt;
}
unordered_map<int,string> ump={
{0, "Sunday"},
{1, "Monday"},
{2, "Tuesday"},
{3, "Wednesday"},
{4, "Thursday"},
{5, "Friday"},
{6, "Saturday"},
};
unordered_map<int,string> um={
{0, "yesterday"},
{1, "today"},
{2, "tomorrow"},
};
signed main(){
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
int a=read(),b=read(), c=read();
int d=read(),e=read(), f=read();
int t;
rep(i, 0, 3){
int aa=ff(a, b, c, d, e, f, i);
if(aa==1){
int t=(d+1)%7;
cout<<ump[t]<<"\n";
cout<<um[i]<<"\n";
cout<<"yesterday"<<"\n";
break;
}else if(aa==2){
int t=(e)%7;
cout<<ump[t]<<"\n";
cout<<um[i]<<"\n";
cout<<"today"<<"\n";
break;
}else if(aa==4){
int t=(f-1+7)%7;
cout<<ump[t]<<"\n";
cout<<um[i]<<"\n";
cout<<"tomorrow"<<"\n";
break;
}
}
return 0;
}
7-5 LRU缓存
分数 25
原题

算法标签
模拟
代码
#include<bits/stdc++.h>
#define int long long
#define rep(i, a, b) for(int i=a;i<b;++i)
#define Rep(i, a, b) for(int i=a;i>=b;--i)
using namespace std;
const int N = 20005;
int st[N];
inline int read(){
int s=0,w=1;
char ch=getchar();
while(ch<'0'||ch>'9'){if(ch=='-')w=-1;ch=getchar();}
while(ch>='0'&&ch<='9') s=s*10+ch-'0',ch=getchar();
return s*w;
}
void put(int x) {
if(x<0) putchar('-'),x=-x;
if(x>=10) put(x/10);
putchar(x%10^48);
}
signed main(){
int n=read(), m=read();
vector<int> a(m + 1);
vector<int> ans;
rep(i, 1, m+1){
a[i]=read();
}
int cnt = 0;
for (int i = 1, j = 1; i <= m; ++i){
if (st[a[i]] == 0)
cnt += 1;
st[a[i]] += 1;
if (cnt > n){
while (j < i){
st[a[j]] -= 1;
if (st[a[j]] == 0){
ans.push_back(a[j]);
j++;
cnt -= 1;
break;
}
j++;
}
}
}
rep(i, 0, ans.size()){
cout << ans[i] << " "[i == ans.size() - 1];
}
}
战绩

原创不易
转载请标明出处
如果对你有所帮助 别忘啦点赞支持哈
边栏推荐
- HCIA复习
- Cannot build artifact 'test Web: War expanded' because it is included into a circular depend solution
- Introduction to promql of # yyds dry goods inventory # Prometheus
- Summary of data sets in intrusion detection field
- Analysis report on development trends and investment planning of China's methanol industry from 2022 to 2028
- 【无标题】
- The ECU of 21 Audi q5l 45tfsi brushes is upgraded to master special adjustment, and the horsepower is safely and stably increased to 305 horsepower
- How to use the container reflection method encapsulated by thinkphp5.1 in business code
- Demander le Code de texte standard correspondant à un centre de travail dans l'ordre de production
- GTSAM中李群的运用
猜你喜欢

H3C V7 switch configuration IRF

Sequoiadb Lake warehouse integrated distributed database, June 2022 issue

IP day 16 VLAN MPLS configuration
![[happy Spring Festival] if you feel happy, dance](/img/b5/faa4cb94ef5fb45b8bb98ecb69962f.jpg)
[happy Spring Festival] if you feel happy, dance

Node 之 nvm 下载、安装、使用,以及node 、nrm 的相关使用

假设检验学习笔记

Arrays and collections

Practice sharing: how to safely and quickly migrate from CentOS to openeuler
[SQL Server fast track] - authentication and establishment and management of user accounts

MPLS test report
随机推荐
[Jiudu OJ 08] simple search x
单元测试的意义
Classes and objects (I) detailed explanation of this pointer
The ECU of 21 Audi q5l 45tfsi brushes is upgraded to master special adjustment, and the horsepower is safely and stably increased to 305 horsepower
H3C S5820V2_5830V2交换机IRF2堆叠后升级方法
数学三大核心领域概述:几何
What are the test sites for tunnel engineering?
Pay attention to the details of pytoch code, and it is easy to make mistakes
wib3.0 跨越,在跨越(ง •̀_•́)ง
Cannot build artifact 'test Web: War expanded' because it is included into a circular depend solution
LAN communication process in the same network segment
Company video accelerated playback
OSPF configuration command of Huawei equipment
The difference and usage between continue and break
Luogu [Beginner Level 4] array p1427 number game of small fish
数学三大核心领域概述:代数
[Baiwen smart home] first day of the course_ Learn Embedded and understand the development mode of bare metal and RTOS
Investment strategy discussion and market scale prediction report of China's solid state high power amplifier industry from 2022 to 2028
Function of contenttype
网络协议模型