SDOI2012 Round1 day2 集合(set)解题报告
//=====================以上为官方题解==============//
数据略水,暴力枚举50.
把边按照升序排一遍,在询问,水过。
#include<cstdio>
#include<algorithm>
#define setfire(name) freopen(#name".in","r",stdin);freopen(#name".out","w",stdout);
using namespace std;
const int N=+;
struct M{
int u,v,w;
}e[N*];
int n,m,ans,cas,belong[N];
bool cmp(const M &a,const M &b){
return a.w<b.w;
}
int main(){
setfire(set);
scanf("%d%d",&n,&m);
for(int i=;i<=m;i++) scanf("%d%d%d",&e[i].u,&e[i].v,&e[i].w);
sort(e+,e+m+,cmp);
for(int i=;i<=n;i++) belong[i]=;
scanf("%d",&cas);char s[];
for(int i=,x;i<=cas;i++){
scanf("%s",s);
if(s[]=='M'){
scanf("%d",&x);
if(s[]=='A'){
belong[x]=;
}
else if(s[]=='B'){
belong[x]=;
}
else if(s[]=='C'){
belong[x]=;
}
}
else{
ans=0x3f3f3f3f;
if(s[]=='A'&&s[]=='A'){
for(int i=;i<=m;i++){
if(belong[e[i].u]==&&belong[e[i].v]==){
ans=e[i].w;
break;
}
}
}
else if(s[]=='A'&&s[]=='B'){
for(int i=;i<=m;i++){
if(belong[e[i].u]==&&belong[e[i].v]==
||belong[e[i].u]==&&belong[e[i].v]==){
ans=e[i].w;
break;
}
}
}
else if(s[]=='A'&&s[]=='C'){
for(int i=;i<=m;i++){
if(belong[e[i].u]==&&belong[e[i].v]==
||belong[e[i].u]==&&belong[e[i].v]==){
ans=e[i].w;
break;
}
}
}
else if(s[]=='B'&&s[]=='B'){
for(int i=;i<=m;i++){
if(belong[e[i].u]==&&belong[e[i].v]==){
ans=e[i].w;
break;
}
}
}
else if(s[]=='B'&&s[]=='C'){
for(int i=;i<=m;i++){
if(belong[e[i].u]==&&belong[e[i].v]==
||belong[e[i].u]==&&belong[e[i].v]==){
ans=e[i].w;
break;
}
}
}
else if(s[]=='C'&&s[]=='C'){
for(int i=;i<=m;i++){
if(belong[e[i].u]==&&belong[e[i].v]==){
ans=e[i].w;
break;
}
}
}
if(ans==0x3f3f3f3f) puts("No Found!");
else printf("%d\n",ans);
}
}
return ;
}
SDOI2012 Round1 day2 集合(set)解题报告的更多相关文章
- SDOI2012 Round1 day2 拯救小云公主(dis)解题报告
#include<cstdio> #include<cmath> #include<iostream> using namespace std; typedef l ...
- SDOI2012 Round1 day2 象棋(chess)解题报告
本题的难点是“移动过程中不能出现多颗棋子同时在某一格的情况”. 事实上,可以忽略此条件,因为棋子是相同的,我们可以用合法的等效方案替代一棋子越过另一棋子的情况:A.B.C三格,A能在一步走到B,B也能 ...
- BZOJ 2839: 集合计数 解题报告
BZOJ 2839: 集合计数 Description 一个有\(N\)个元素的集合有\(2^N\)个不同子集(包含空集),现在要在这\(2^N\)个集合中取出若干集合(至少一个),使得 它们的交集的 ...
- 洛谷 P2498 [SDOI2012]拯救小云公主 解题报告
P2498 [SDOI2012]拯救小云公主 题目描述 英雄又即将踏上拯救公主的道路-- 这次的拯救目标是--爱和正义的小云公主. 英雄来到\(boss\)的洞穴门口,他一下子就懵了,因为面前不只是一 ...
- 雅礼集训 Day2 T3 联盟 解题报告
联盟 题目描述 \(\text{G}\) 国周边的 \(n\) 个小国家构成一个联盟以抵御 \(\text{G}\) 国入侵, 为互相支援,他们建立了\(n−1\) 条双向通路, 使得任意两个国家可以 ...
- noip2013 Day2 T2 花匠 解题报告
题目: 3289 花匠 2013年NOIP全国联赛提高组 时间限制: 1 s 空间限制: 128000 KB 题目描述 Description 花匠栋栋种了一排花,每株花都有自己的高度.花儿越长越大, ...
- GX/GZOI2019 day2 解题报告
GX/GZOI2019 day2 解题报告 题目链接 逼死强迫症 旅行者 旧词 t1 逼死强迫症 显然地,记 \(f(i)\) 为长度为 \(i\) 的木板的答案,可得: \(\\\) \[f(i)= ...
- 【九度OJ】题目1178:复数集合 解题报告
[九度OJ]题目1178:复数集合 解题报告 标签(空格分隔): 九度OJ http://ac.jobdu.com/problem.php?pid=1178 题目描述: 一个复数(x+iy)集合,两种 ...
- 【NOIP2015】提高day2解题报告
题目: P1981跳石头 描述 一年一度的“跳石头”比赛又要开始了!这项比赛将在一条笔直的河道中进行,河道中分布着一些巨大岩石.组委会已经选择好了两块岩石作为比赛起点和终点.在起点和终点之间,有 N ...
随机推荐
- shoppingCart.js
ylbtech-JavaScript-util: shoppingCart.js 购物车脚本 1.A,JS-效果图返回顶部 1.B,JS-Source Code(源代码)返回顶部 1.B.1,m. ...
- 今天终于看了一下tanh函数的形式,双曲正切函数
tanh = sinh / cosh sinh = Hyperbolic sin cosh = Hyperbolic cos
- python测试与调试提示
测试与调试提示 2.1 在交互模式输入一个python语句就会执行一个.在调试程序时,这种模式尤其有用. 2.2 在一个文件调用python解释器后,解释器会在文件中的最后一个语句执行之后推出.然而, ...
- oracle sql试题
转载 数据准备 create table student( sno varchar2(10) primary key, sname varchar2(20), sage number(3), ...
- OpenSSL 有关密钥的那些事儿(HOWTO keys)
<DRAFT!> OpenSSL 有关密钥的那些事儿(HOWTO keys) 1. 介绍(Introduction) Keys are the basis of public key al ...
- 用JS怎么判断上传文件控件是否未选择文件
页面代码: <form name="form1" action="uploadPosdetailFile.html" method="post& ...
- POJ 1040 Transportation
链接:http://poj.org/problem?id=1040 Transportation Time Limit: 1000MS Memory Limit: 10000K Total Submi ...
- cpp学习笔记 1一个简单的小程序以及一些的知识点
今天买的cpp到了从今天開始又一次学习cpp如今发现学校发的书真的不怎莫样. <em>#include<stdio.h>//预处理命令 int main()/*第一个被调用的函 ...
- java jdk 环境变量设置
我的电脑点右键,选择“属性”,选择“高级”标签,进入环境变量设置,分别设置如下三个环境变量: 设置JAVA_HOME: 一是为了方便引用,比如,JDK安装在C:\jdk1.6.0目录里,则设置JAVA ...
- JDBC技术总结(一)
1. JDBC简介 SUN公司为了简化.统一对数据库的操作,定义了一套Java操作数据库的规范,称之为JDBC,JDBC不能直接操作数据库,JDBC通过接口加载数据库的驱动,然后操作数据库.JDBC: ...