总结一下这场比赛,就是我太SB了。说多了都是泪。

A,大水题。

B,根据题意,可以肯定有一个城市是可以与所有城市相连的,直接找到该点然后输出该点与其他所有点相连即可。

int x[111111] , y[111111] ,num ;
bool vis[111111] ;
int aa[111111] ,nn  = 0 ;
void antry(){num = 0 ;int n , m ;cin >> n >> m ;mem(vis,0) ;for (int i = 0 ;i < m ;i ++ ){int a , b ;cin >> a >> b ;vis[a] = 1 ;vis[b] = 1 ;}int pos ;for (int i = 1 ;i <= n ;i ++ ){if(!vis[i]){pos = i ;break ;}}cout << n - 1 << endl;for (int i = 1 ;i <= n ;i ++ ){if(i == pos)continue ;cout << pos <<" " << i << endl;}
}
int main() {antry() ;return 0 ;
}

C,先说-1的情况,当点[x , y ]行x 与列y 都是E的时候,那么就是-1。

然后只要判断 每一行 ,是否没满 ,或者每一列是否没满 。

如果每一行都没满 ,那么每一行都输出一个点,如果每一列都没满,那么每一列都找一个点输出。

char Map[1111][1111] ;
int hang[1111] ;
int lie[1111] ;
int main() {int n ;cin >> n ;for (int i = 1 ; i <= n ;i ++ ){for (int j = 1 ;j <= n ;j ++ ){cin >> Map[i][j] ;if(Map[i][j] == 'E'){hang[i] ++ ;lie[j] ++ ;}}}int flag = 0 ;for (int i = 1 ;i <= n ;i ++ ){for (int j = 1 ;j <= n ;j ++ ){if(hang[i] == n && lie[j] == n){flag = 1 ;}}}if(flag)cout << -1 << endl;else {int num1 = 0 ;int num2 = 0 ;for (int i = 1 ;i <= n ;i ++ ){if(hang[i] != n)num1 ++ ;if(lie[i] != n)num2 ++ ;}if(num1 == n){for (int i = 1 ;i <= n ;i ++ ){bool ff = 0 ;for (int j = 1 ;j <= n ;j ++ ){if(Map[i][j] == '.'){cout << i << " " << j << endl;ff = 1 ;}if(ff)break ;}}}else if(num2 == n){for (int i = 1 ;i <= n ;i ++ ){int ff = 0 ;for (int j = 1 ;j <= n ;j ++ ){if(Map[j][i] == '.'){cout << j << " " <<i << endl;ff = 1 ;}if(ff)break ;}}}}return 0;
}

D,大水题,直接从E开始BFS,找出所有点的距离,然后判断是否比S 到E的时间小,加起来即可。

#include <iostream>
#include <cstdio>
#include <algorithm>
#include <string>
#include <cmath>
#include <cstring>
#include <queue>
#include <set>
#include <vector>
#include <stack>
#include <map>
#include <iomanip>
#define PI acos(-1.0)
#define Max 2505
#define inf 1<<28
#define LL(x) ( x << 1 )
#define RR(x) ( x << 1 | 1 )
#define REP(i,s,t) for( int i = ( s ) ; i <= ( t ) ; ++ i )
#define ll long long
#define mem(a,b) memset(a,b,sizeof(a))
#define mp(a,b) make_pair(a,b)
#define PII pair<int,int>
using namespace std;inline void RD(int &ret) {char c;do {c = getchar();} while(c < '0' || c > '9') ;ret = c - '0';while((c=getchar()) >= '0' && c <= '9')ret = ret * 10 + ( c - '0' );
}char Map[1111][1111] ;
PII st[11111111] ;
int sx ,sy ;
int ex ,ey ;
int vis[1005][1005] ;
int n , m ;
int num[1005][1005] ;
queue<PII > qe ;
int mx[4] = {0 , 0 ,-1, 1} ;
int my[4] = {1, -1, 0 ,0 } ;
int inmap(int x ,int y){if(x >= 1 && x <= n && y >= 1 && y <= m)return 1 ;return 0 ;
}
int dbfs(){PII  s , e ;mem(vis,0) ;mem(num , 0) ;e.first =  ex ;e.second = ey ;while(!qe.empty())qe.pop() ;qe.push(e) ;num[ex][ey] = 0 ;vis[ex][ey] = 1 ;while(!qe.empty()){PII tmp = qe.front() ;qe.pop() ;for (int i = 0 ;i < 4 ;i ++ ){int tx = tmp.first + mx[i] ;int ty = tmp.second + my[i] ;if(inmap(tx, ty) && Map[tx][ty] != 'T'){if(!vis[tx][ty]){vis[tx][ty] = 1 ;num[tx][ty] = num[tmp.first][tmp.second] + 1 ;qe.push(mp(tx,ty)) ;}}}}return inf ;
}
void antry(){cin >> n >> m ;int num1 = 0 ;for (int i = 1 ;i <= n ; i ++ ){for (int j = 1 ;j <= m ; j ++ ){cin >> Map[i][j] ;if(Map[i][j] >= '1' && Map[i][j] <= '9'){st[num1].first = i ;st[num1].second = j ;num1 ++ ;}else if(Map[i][j] == 'S'){sx = i ;sy = j ;}else if(Map[i][j] == 'E'){ex = i ;ey = j ;}}}dbfs() ;int ans = 0 ;int s1 = num[sx][sy] ;for (int i = 0 ;i < num1 ; i ++ ){int s2 = num[st[i].first][st[i].second] ;if(s2 <= s1 && s2 != 0){ans += Map[st[i].first][st[i].second] - '0' ;}}cout << ans << endl;
}
int main() {antry() ;return 0 ;
}

E,在搞。

CF 192 DIV.2相关推荐

  1. CF #366(div.2) C 模拟,思维

    CF #366(div.2)  C.  Thor 题意:一个手机n个联系人,有q个操作.每次给出ty和ai,如ty==1,表示收到ai的一条信息:如ty==2,表示将ai发的信息都看掉:如ty==3, ...

  2. CF #371 (Div. 2) C、map标记

    1.CF #371 (Div. 2)   C. Sonya and Queries  map应用,也可用trie 2.总结:一开始直接用数组遍历,果断T了一发 题意:t个数,奇变1,偶变0,然后与问的 ...

  3. cf #823 Div.2(A~C)

    Cf #823 Div.2 文章目录 Cf #823 Div.2 [A. Planets](https://codeforces.com/contest/1730/problem/A) [B. Mee ...

  4. cf #818 Div.2(A~C)

    Cf #818 Div.2 文章目录 Cf #818 Div.2 [A. Madoka and Strange Thoughts](https://codeforces.com/contest/171 ...

  5. CF #683 div.2

    CF #683 div.2 目前 ABCD A. Add Candies B. Numbers Box C. Knapsack D. Catching Cheaters 结尾 A. Add Candi ...

  6. CF#764(div.3A~D)dp进阶

    CF#764(div.3A~D)&&dp进阶 CF#764(div.3) Problem - A - Codeforces 题意 一个数列,每次操作可以使这个数列中的任何数加1,问最少 ...

  7. CF #764 Div.3(B ~D)

    CF #764 Div.3 B题 Make AP 给定a b c 使其中一个数 乘 任意正整数m 问是否能构成成差数列 我们可以想到等差数列的性质 2b=a+c2b = a + c 2b=a+c 思路 ...

  8. CF 192 DIV2

    A. Cakeminator 题目链接 大水题,前提是要看懂题目 思路:记录一行都不存在草莓的行数s1,一列都不存在草莓的列数s2,然后求总格数,公式:s=s1*m+s2*n-s1*s2 代码: #i ...

  9. cf #825 Div.2(A~C2)

    Cf #825 Div.2 文章目录 Cf #825 Div.2 [A. Make A Equal to B](https://codeforces.com/contest/1736/problem/ ...

最新文章

  1. php连接到mysql数据库,PHP MySQL:连接到MySQL数据库
  2. 台大林轩田《机器学习基石》系列课程教材的习题更新完毕了
  3. oracle 11g安装时设密码 database control,安装oracle 11g 保护Database Control时出错,Database Control已在非安全模式下启动...
  4. unet图像分割_UNet++解读 + 它是如何对UNet改进 + 作者的研究态度和方式
  5. java从端口接收数据_java - Java中通过串行端口接收数据的效率更高 - 堆栈内存溢出...
  6. 数组中常用几种的Arrays方法
  7. 使用NFC读卡器ACR122u读取银行卡信息
  8. ai俄罗斯方块java_俄罗斯方块 AI 算法讲解
  9. 20221118-数学函数图像在线工具推荐
  10. Elastic-Job原理--任务失败转移(五)
  11. 天琴协议_天琴座:新秀背后
  12. 3D 打印没那么玄乎
  13. 内网渗透(五十二)之域控安全和跨域攻击-搭建和查看域信任关系
  14. 世界上前11名最贵跑车
  15. MySQL国内省市直辖区
  16. dedecms后台报错“Notice: Use of undefined constant MYSQL_ASSOC - assumed ‘MYSQL_ASSOC‘ ”的解决方法
  17. HTML+CSS小实例(进度条)
  18. 2019年度Infortrend渠道战略计划在杭州正式启动
  19. linux 设备直通,ProxmoxVE 开启硬件直通
  20. Pandas 安装与教程

热门文章

  1. 完全平方数(c++基础)
  2. 苹果手机来电归属地_工信部:手机号归属地不会取消、否则增大诈骗风险
  3. 【菜鸟dei学习】Nginx简单配置:负载均衡与动静分离
  4. 利用js写的见缝插针小游戏
  5. android RecyclerView 简单实现横竖布局穿插
  6. 农民伯伯2009年夜总结
  7. rhel6的部分版本使用intel xeon处理器时的bug
  8. c如何将数组初始化为0?
  9. 夕颜的python笔记001
  10. 测试开发基础 | Python 算法与数据结构面试题系列一(附答案)