首页 > 编程语言 >2023 睿抗机器人开发者大赛CAIP-编程技能赛-本科组(省赛)记录

2023 睿抗机器人开发者大赛CAIP-编程技能赛-本科组(省赛)记录

时间:2023-07-20 12:22:59浏览次数:35  
标签:CAIP int rep cin ++ mp 2023 省赛 tt

RC-u1 亚运奖牌榜

思路

代码

点击查看代码
#include<bits/stdc++.h>
#define rep(i,x,y) for(int i=x; i<=y; ++i)
using namespace std;
#define int long long
int a[30][30];
signed main(){
	int n;
	cin>>n;
	while(n--){
		int x,c;
		cin>>x>>c;
		a[x][c]++;
	}
	rep(i,0,1){
		rep(j,1,3){
			cout<<a[i][j];
			if(j<3) cout<<" ";
		}
		cout<<endl;
	}
	for(int i=1; i<=3; ++i){
		if(a[0][i]>a[1][i]){
			puts("The first win!");
			break;
		}else if(a[0][i]<a[1][i]){
			puts("The second win!");
			break;
		}
	}
	return 0;
}

RC-u2 出院

思路

说一下坑点,注意题目说的有多种分解方式是指的分解后的结果有多种(列如分解成:AD,CD),而不是有多种方式能分解到一种结果(例如有三种方式分解成DD)

代码

点击查看代码
#include<bits/stdc++.h>
#define rep(i,x,y) for(int i=x; i<=y; ++i)
using namespace std;
#define int long long
map<string,string> mp;
signed main(){
	int n,m;
	cin>>n>>m;
	vector<string> ve;
	rep(i,1,n){
		string s1,s2;
		cin>>s1>>s2;
		ve.push_back(s1);
		mp[s1]=s2;
	}
	while(m--){
		string s;
		cin>>s;
		if(mp.count(s)!=0) {
			cout<<mp[s]<<'\n';
			continue;
		}
		string ans="";
		map<string,bool> num;
		for(int i=0; i<ve.size(); ++i){
			for(int j=0; j<ve.size(); ++j){
				if(ve[i]+ve[j]==s){
					ans=mp[ve[i]]+mp[ve[j]];
					num[ans]=1;
				}
			}
		}
		if(num.size()!=1) ans="D";
	    cout<<ans<<'\n';
		
	}
	return 0;
}

RC-u3 骰子游戏

sb

RC-u4 相对论大师

思路

把字符串通过map映射成数字,建图。就是在图上寻找要求的路径即刻,dfs暴力寻找就能过

代码

点击查看代码
#include<bits/stdc++.h>
#define rep(i,x,y) for(int i=x; i<=y; ++i)
using namespace std;
#define int long long
#define PSI pair<string,int>
#define pushk push_back
const int N = 1e5+9;
vector<int> g[N];
map<PSI,int> mp;
map<int,PSI> name;
int re[N];
vector<vector<int> > ve;
vector<int> tmp;
bool vis[N];
void dfs(int s,int u){
	if(re[s]==u) {
		ve.pushk(tmp);
		return ;
	}
	for(auto &it : g[u]){
		if(!vis[it]){
			tmp.pushk(it);
			vis[it]=1;
			dfs(s,it);
			tmp.pop_back();
		}
	}
}
bool cmp(const vector<int> &A, const vector<int> &B){
	return A.size()<B.size(); 
} 
signed main(){
	int n;
	cin>>n;
	int idx=0;
	rep(i,1,n){
		string A,B;
		int a,b;
		cin>>A>>a>>B>>b;
		if(!mp[{A,a}]) mp[{A,a}]=++idx;
		if(!mp[{A,!a}]) mp[{A,!a}]=++idx;
		name[mp[{A,a}]]={A,a};
		re[mp[{A,a}]]=mp[{A,!a}];
		if(!mp[{B,b}]) mp[{B,b}]=++idx;
		if(!mp[{B,!b}]) mp[{B,!b}]=++idx;
		name[mp[{B,b}]]={B,b};
		re[mp[{B,b}]]=mp[{B,!b}];
		g[mp[{A,a}]].push_back(mp[{B,b}]);
	}
	for(int i=1; i<=idx; ++i){
		tmp.clear();
		tmp.pushk(i);
		vis[i]=1;
		dfs(i,i);
		memset(vis,0,sizeof vis);
	}
	sort(ve.begin(),ve.end(),cmp);
	auto ans = ve[0];
	for(int i=0; i<ans.size(); ++i){
		int it = ans[i];
		cout<<name[it].first<<" "<<name[it].second<<" ";
		if(i!=0&&i<ans.size()-1)cout<<name[it].first<<" "<<name[it].second<<" ";
	}
	cout<<"= ";
	cout<<name[ans[0]].first<<" "<<name[ans[0]].second<<" ";
	cout<<name[ans[ans.size()-1]].first<<" "<<name[ans[ans.size()-1]].second;
	return 0;
}

RC-u5 相对成功与相对失败

思路

根据题目要求计算出每个人的得分(注意题目的意思00和11等价),根据题目的要求合理的应该是从小到大的排序。那么我们找出最长的从小到大的子序列(即最长不下降子序列)\(tt\),再用总长度 \(n\) 减去 \(tt\) 即可

代码

点击查看代码
#include<bits/stdc++.h>
#define rep(i,x,y) for(int i=x; i<=y; ++i)
using namespace std;
const int N = 1e5+9;
int a[N],stk[N],b[N],c[N];
signed main(){
	int T;
	cin>>T;
	while(T--){
		int n;
		cin>>n;
		rep(i,1,n) a[i]=c[i]=b[i]=0;
		rep(i,1,n){
			int x,y;
			cin>>x>>y;
			if(x==1&&y==0) a[i]=1;
			else if(x==0&&y==1) a[i]=3;
			else  a[i]=2;
		}
		rep(i,1,n){
			cin>>b[i];
			c[i]=a[b[i]];
		}
		int tt=0;
		stk[++tt]=c[1];
		rep(i,2,n){
			if(c[i]>=stk[tt]) stk[++tt]=c[i];
			else {
				int p = upper_bound(stk+1,stk+tt+1,c[i])-stk;
				stk[p]=c[i];
			}
		}
		cout<<n-tt<<'\n';
	}
	return 0;
}

标签:CAIP,int,rep,cin,++,mp,2023,省赛,tt
From: https://www.cnblogs.com/Jin-yt/p/17567980.html

相关文章

  • 2023年9月天津/郑州/深圳DAMA-CDGA/CDGP认证考试报名
    据DAMA中国官方网站消息,2023年度第三期DAMA中国CDGA和CDGP认证考试定于2023年9月23日举行。 报名通道现已开启,相关事宜通知如下: 考试科目: 数据治理工程师(CertifiedDataGovernanceAssociate,CDGA)数据治理专家(CertifiedDataGovernanceProfessional,CDGP) 考试时间: CDGA:2023......
  • 2023年7月天津/郑州/深圳CDGA/CDGP数据治理认证招生
    DAMA认证为数据管理专业人士提供职业目标晋升规划,彰显了职业发展里程碑及发展阶梯定义,帮助数据管理从业人士获得企业数字化转型战略下的必备职业能力,促进开展工作实践应用及实际问题解决,形成企业所需的新数字经济下的核心职业竞争能力。DAMA是数据管理方面的认证,帮助数据从业者提升......
  • 2023年天津/郑州/深圳CSPM-3中级国标项目管理认证报名
    CSPM-3中级项目管理专业人员评价,是中国标准化协会(全国项目管理标准化技术委员会秘书处),面向社会开展项目管理专业人员能力的等级证书。旨在构建多层次从业人员培养培训体系,建立健全人才职业能力评价和激励机制的要求,培养我国项目管理领域复合型人才。  【证书含金量】 ·竞聘优先......
  • 阅读 | 《费曼学习法》读书笔记 | 2023年7月20日
    小虾米原创作品,转载请注明出处:https://www.cnblogs.com/shrimp-can/p/17567931.html 你是否花了很多时间精力学习,效果却始终不好?你是否学习了很多知识,但是当需要表述或写作的时候就像“茶壶里倒饺子,倒不出来”?你是否按步就班的学习,但是学了之后就忘了? 这都是因为没有掌握......
  • 2023.7.19小结
    前排碎碎念昨天下午劳逸逸逸结合了一下。有朋自远方来那就带她出去玩,再加上晚上大大大暴雨,所以昨天没学什么东西,因而小结空了一天。但今天转念一想觉得还是浅写一下叭,那就写两天的!7.18的内容:上午看了一下二分(实际上是前一天晚上在oi-wiki上面随便翻开结果发现第一次交WA了,所以......
  • 牛客暑假多校 2023 第一场
    目录写在前面LH写在前面比赛地址:https://ac.nowcoder.com/acm/contest/57355。官方题解写得太好了都感觉没有自己整理的必要。简单写写有启发性的东西。我是垃圾。L发现进行三次操作后有:\[(x,y,z)\rightarrow(a_{b_{c_x}},b_{c_{a_{y}}},c_{a_{b_{z}}})\]每个位置仅......
  • Java开发工具MyEclipse发布v2023.1.2,今年第二个修复版!
    MyEclipse一次性提供了巨量的Eclipse插件库,无需学习任何新的开发语言和工具,便可在一体化的IDE下进行JavaEE、Web和PhoneGap移动应用的开发;强大的智能代码补齐功能,让企业开发化繁为简。MyEclipsev2023.1.2官方正式版下载更新日志如下:v2023.1.2是MyEclipse2023的一个小错误修......
  • 【2023.07.20】成为渣男
    在约会了那么多女生后,我的内心逐渐趋向于平静,内心也不再痛苦了我对现在的女生是很失望的,好像每个人都是享乐主义我不是说享乐主义不好,但是她们给我的感受就是“这世上只有玩才是最重要的,抛弃了一切的责任和义务,只顾着自己开心就好”为什么失业了可以心安理得的啃老,为什么在花......
  • HDU 暑假多校 2023 第一场
    目录写在前面72837279727672757284写在最后写在前面补题地址:HDUOJ题库第63页,题号7275~7286。以下题号以题库中题号为准。题目选补,按照个人认为题目难度排序,因为我是菜狗。打这场看到马娘题目直接整个人兴奋,于是推了3h推不出来滚粗了。以为是手玩题没想到是正统博弈论呃......
  • SSO2.0 28-20230719
                      ......