第四届“传智杯”全国大学生IT技能大赛(练习赛)完结

Posted 辉小歌

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第四届“传智杯”全国大学生IT技能大赛(练习赛)完结相关的知识,希望对你有一定的参考价值。

题目都是基础题。

T1 符合条件的数【暴力】


https://www.luogu.com.cn/problem/T211364?contestId=56279
暴力即可。

#include<bits/stdc++.h>
using namespace std;
int n,k; 
bool check(int n)

	int cnt=0;
	while(n) 
	
		if(n%10==3) cnt++;
		n/=10;
	
	return cnt==k;

int main(void)

	cin>>n>>k;
	for(int i=n;;i++)
	
		if(check(i)) 
		
			cout<<i;
			break;
		
	
	return 0;

T2 选代表【模拟】


https://www.luogu.com.cn/problem/T211368?contestId=56279

#include<bits/stdc++.h>
using namespace std;
const int N=1e5+10;
int cnt[N],n,x;
int main(void)

	cin>>n;
	for(int i=0;i<n;i++)
	
		cin>>x;
		if(!cnt[x]) cout<<x<<" ";
		cnt[x]++;
	
	return 0;

T3 成绩统计 【排序】


https://www.luogu.com.cn/problem/T211372?contestId=56279
注意向上取整,注意四舍五入即可。

#include<bits/stdc++.h>
using namespace std;
struct node

	string name;
	int id,a,b;
	int sum;
temp;
vector<node>ve;
int n;
bool cmp(node a,node b)

	if(a.sum==b.sum)
		return a.id<b.id;
	return a.sum>b.sum;

int main(void)

	cin>>n;
	for(int i=0;i<n;i++)
	
		cin>>temp.name>>temp.a>>temp.b;
		temp.id=i;
		temp.b=ceil(sqrt(1.0*temp.b)*10);
		temp.sum=0.6*temp.b+0.4*temp.a+0.5;
		ve.push_back(temp); 
	
	sort(ve.begin(),ve.end(),cmp);
	for(int i=0;i<ve.size();i++) 
	
		cout<<ve[i].name<<" "<<ve[i].sum;
		if(i!=ve.size()-1) cout<<endl;
	
	return 0;

T4 背答案 【模拟】


https://www.luogu.com.cn/problem/T211939?contestId=56279

#include<bits/stdc++.h>
using namespace std;
const int N=1e5+10;
unordered_map<string,int>mp;
string a[N],b[N];
int n,m;
int main(void)

	cin>>n>>m;
	for(int i=0;i<n;i++) cin>>a[i]>>b[i],mp[a[i]]=i;
	for(int i=0;i<m;i++)
	
		string name,temp; cin>>name;
		int ans=0;
		for(int j=0;j<4;j++)
		
			cin>>temp;
			if(temp==b[mp[name]]) ans=j;
		
		cout<<char('A'+ans)<<endl;
	
	return 0;

T5 击鼓传花 【暴力模拟】


https://www.luogu.com.cn/problem/T211943?contestId=56279
暴力模拟,注意剪枝即可。

#include<bits/stdc++.h> 
using namespace std;
const int N=1e6+10;
int st[N],n,m,k;
int main(void)

	cin>>n>>m>>k;
	for(int i=0;i<m;i++)
	
		int x; cin>>x;
		while(!st[x])
		
			st[x]=1;
			x=(x+k)%n;
		
	
	int cnt=0;
	for(int i=0;i<n;i++) if(!st[i]) cnt++;
	cout<<cnt<<endl;
	return 0;

#include <bits/stdc++.h>
using namespace std;
int n,m,k;
int gcd(int a,int b) return b?gcd(b,a%b):a;
int main()

    cin>>n>>m>>k;
    int l=gcd(n,k);
    vector<bool>v(l,true);
    for(int i=0;i<m;i++)
	
        int j;cin>>j;
        v[j%l]=false;
    
    cout<<(count(v.begin(),v.end(),true))*(n/l);

以上是关于第四届“传智杯”全国大学生IT技能大赛(练习赛)完结的主要内容,如果未能解决你的问题,请参考以下文章

第四届“传智杯”全国大学生IT技能大赛(初赛A组)

第四届“传智杯”全国大学生IT技能大赛(决赛B组)题解

2021年全国职业院校技能大赛(中职组)网络安全竞赛第四套试题A模块解析(超级详细)

2021年全国行业职业技能竞赛暨第四届全国大学生大数据技能竞赛——职教学生组线上选拔赛

高分!!电子竞赛

五十九备战蓝桥杯 - Java算法 (基础练习一)