//=====================以上为官方题解==============//

数据略水,暴力枚举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)解题报告的更多相关文章

  1. SDOI2012 Round1 day2 拯救小云公主(dis)解题报告

    #include<cstdio> #include<cmath> #include<iostream> using namespace std; typedef l ...

  2. SDOI2012 Round1 day2 象棋(chess)解题报告

    本题的难点是“移动过程中不能出现多颗棋子同时在某一格的情况”. 事实上,可以忽略此条件,因为棋子是相同的,我们可以用合法的等效方案替代一棋子越过另一棋子的情况:A.B.C三格,A能在一步走到B,B也能 ...

  3. BZOJ 2839: 集合计数 解题报告

    BZOJ 2839: 集合计数 Description 一个有\(N\)个元素的集合有\(2^N\)个不同子集(包含空集),现在要在这\(2^N\)个集合中取出若干集合(至少一个),使得 它们的交集的 ...

  4. 洛谷 P2498 [SDOI2012]拯救小云公主 解题报告

    P2498 [SDOI2012]拯救小云公主 题目描述 英雄又即将踏上拯救公主的道路-- 这次的拯救目标是--爱和正义的小云公主. 英雄来到\(boss\)的洞穴门口,他一下子就懵了,因为面前不只是一 ...

  5. 雅礼集训 Day2 T3 联盟 解题报告

    联盟 题目描述 \(\text{G}\) 国周边的 \(n\) 个小国家构成一个联盟以抵御 \(\text{G}\) 国入侵, 为互相支援,他们建立了\(n−1\) 条双向通路, 使得任意两个国家可以 ...

  6. noip2013 Day2 T2 花匠 解题报告

    题目: 3289 花匠 2013年NOIP全国联赛提高组 时间限制: 1 s 空间限制: 128000 KB 题目描述 Description 花匠栋栋种了一排花,每株花都有自己的高度.花儿越长越大, ...

  7. GX/GZOI2019 day2 解题报告

    GX/GZOI2019 day2 解题报告 题目链接 逼死强迫症 旅行者 旧词 t1 逼死强迫症 显然地,记 \(f(i)\) 为长度为 \(i\) 的木板的答案,可得: \(\\\) \[f(i)= ...

  8. 【九度OJ】题目1178:复数集合 解题报告

    [九度OJ]题目1178:复数集合 解题报告 标签(空格分隔): 九度OJ http://ac.jobdu.com/problem.php?pid=1178 题目描述: 一个复数(x+iy)集合,两种 ...

  9. 【NOIP2015】提高day2解题报告

    题目: P1981跳石头 描述 一年一度的“跳石头”比赛又要开始了!这项比赛将在一条笔直的河道中进行,河道中分布着一些巨大岩石.组委会已经选择好了两块岩石作为比赛起点和终点.在起点和终点之间,有 N ...

随机推荐

  1. JS中的柯里化及精巧的自动柯里化实现

    一.什么是柯里化? 在计算机科学中,柯里化(Currying)是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数且返回结果的新函数的技术.这个技术由 C ...

  2. sass高级语法的补充

    1. 继承 2.混入 3.函数 我这篇博客需要点基础才能看懂, 但我这篇博客是对上一篇的 sass高级语法 的补充 从这方面来看也无所谓了

  3. android开发常用地址

    一. android市场占用率的url http://developer.android.com/about/dashboards/ 二. ADT下载 下载地址是:http://developer.a ...

  4. 《深入理解Android 卷III》第二章 深入理解Java Binder和MessageQueue

    <深入理解Android 卷III>即将公布.作者是张大伟.此书填补了深入理解Android Framework卷中的一个主要空白,即Android Framework中和UI相关的部分. ...

  5. Hadoop最大值的算法中出现的错误(strToDouble)

    错误信息: Exception in thread "main" java.lang.NumberFormatException: For input string: " ...

  6. lodash 数组元素查找 findIndex

    _.findIndex(array, [predicate=_.identity]) 这个方法类似 _.find.除了它返回最先通过 predicate 判断为真值的元素的 index ,而不是元素本 ...

  7. _.pick lodash

    http://lodash.think2011.net/pick _.pick(object, [props]) 创建一个从 object 中选中的属性的对象. 参数 object (Object) ...

  8. javascript 冒泡排序算法

    <!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8&quo ...

  9. selenium从入门到应用 - 4,页面对象设计模式的实现

    本系列所有代码 https://github.com/zhangting85/simpleWebtest 本文将介绍一个Java+TestNG+Maven+Selenium的web自动化测试脚本环境下 ...

  10. 【Java】Java_18 方法

    方法(Method) 设计方法的原则:方法的本意是功能块,就是实现某个功能的语句块的集合.   我们设计方法的时候,最好保持方法的原子性,就是一个方法只完成1个功能,这样利于我们后期的扩展 方法的要点 ...