[Luogu] 家族
2024-09-04 13:00:53
https://www.luogu.org/problemnew/show/1767
字符串的读入有点麻烦
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <cmath>
#include <iostream> using namespace std;
const int N = ; #define yxy getchar() char A[N][N << ];
int n, Answer;
int Vis[N][N << ];
struct Node{int x, y;};
Node Queue[N * N]; inline int read(){
int x = ; char c = yxy;
while(c < '' || c > '') c = yxy;
while(c >= '' && c <= '') x = x * + c - '', c = yxy;
return x;
} void Bfs(int x, int y){
int T = , H = ;
Node now; now.x = x, now.y = y;
Queue[H] = now;
while(H <= T){
Node topp = Queue[H ++];
int X = topp.x, Y = topp.y; Node nxt;
Vis[X][Y] = ;
if(!Vis[X][Y + ]) {nxt.x = X, nxt.y = Y + ; Queue[++ T] = nxt;}
if(!Vis[X][Y - ]) {nxt.x = X, nxt.y = Y - ; Queue[++ T] = nxt;}
if(!Vis[X + ][Y]) {nxt.x = X + , nxt.y = Y; Queue[++ T] = nxt;}
if(!Vis[X - ][Y]) {nxt.x = X - , nxt.y = Y; Queue[++ T] = nxt;}
}
} int main()
{
n = read();
memset(Vis, -, sizeof Vis);
for(int i = ; i <= n; i ++) gets(A[i] + );
for(int i = ; i <= n; i ++) {
int len = strlen(A[i] + );
for(int j = ; j <= len; j ++){
Vis[i][j] = ;
if(A[i][j] < 'a' || A[i][j] > 'z') Vis[i][j] = ;
}
}
for(int i = ; i <= n; i ++) {
int len = strlen(A[i] + );
for(int j = ; j <= len; j ++){
if(!Vis[i][j]) Answer ++, Bfs(i, j);
}
}
printf("%d", Answer);
return ;
}
最新文章
- Java中如何把一下字符串转换成map
- Android 获取可靠的手机编码
- .net framework 4.0 从 GAC 卸载 程序集
- FireDac 的数据库批量语句提交(高效)
- Ztack学习笔记(3)-系统启动分析
- C# 刷票程序
- WebStorm开发Nodejs环境搭建,包括破解最新的WebStom11破解
- UVA - 11624 多点bfs [kuangbin带你飞]专题一
- Android Studio启动时出现unable to access android sdk add-on list
- Reading comprehension HDU - 4990
- svn介绍
- 安卓——Handler延迟跳转
- 阅读日志: 微信小程序的风口只有一天?
- Java-Runoob-高级教程-实例-字符串:03. Java 实例 - 删除字符串中的一个字符
- MySQL数据库Query性能定位
- 【我的Android进阶之旅】Android 如何防止 so库文件被未知应用盗用?
- JavaScript语言精粹 笔记05 正则表达式
- antd Grid
- JS常见的算法
- node-session
热门文章
- Redis慢日志取出来
- Manacher算法+注释
- hdu 1698 线段数的区间更新 以及延迟更新
- (一)第一个python语句、乘除法、获取用户输入、函数
- springboot mvc自动配置(三)初始化mvc的组件
- vue+scss动态改变主题颜色
- nodejs入门API之path模块
- js大数计算之计算
- Invariant Violation: requireNativeComponent: ";RNCWKWebView"; was not found in the UIManager.
- linux环境安装docker,部署应用