牛客始战
链接:https://ac.nowcoder.com/acm/contest/3667/C
来源:牛客网
天地不仁,以万物为刍狗。
东汉末年,群雄并起。十八路诸侯各自为战,为得一地一城,大肆征战,民众死伤无数。
诸葛亮密如神鬼,疾如风雷。进不可挡,退不可追。昼不可攻,夜不可袭。多不可敌,少不可欺。前后应会,左右指挥。移五行之性,变四时之令。
神人也。
现,亮得诸侯割据图。亮根据此图,预测第一战将会在何处爆发。
此图由n*m个单位组成,图中有n个诸侯的根据地所在地,每个诸侯只会在第一天都会向自己根据地的上下左右方向霸占土地。当两个诸侯霸占到同一块土地时,那么此两诸侯就会开战。现问第一场战役将会在何处爆发!
注意:此土地被霸占的前提条件是在这一天还未被别的诸侯霸占,如果已经被别的诸侯霸占了,那么他就无法霸占了,当然也不会开战,因为谁先到,就是谁的土地。但是如果这块土地,是一起到达的,那么就会开战。
东汉末年,群雄并起。十八路诸侯各自为战,为得一地一城,大肆征战,民众死伤无数。
诸葛亮密如神鬼,疾如风雷。进不可挡,退不可追。昼不可攻,夜不可袭。多不可敌,少不可欺。前后应会,左右指挥。移五行之性,变四时之令。
神人也。
现,亮得诸侯割据图。亮根据此图,预测第一战将会在何处爆发。
此图由n*m个单位组成,图中有n个诸侯的根据地所在地,每个诸侯只会在第一天都会向自己根据地的上下左右方向霸占土地。当两个诸侯霸占到同一块土地时,那么此两诸侯就会开战。现问第一场战役将会在何处爆发!
注意:此土地被霸占的前提条件是在这一天还未被别的诸侯霸占,如果已经被别的诸侯霸占了,那么他就无法霸占了,当然也不会开战,因为谁先到,就是谁的土地。但是如果这块土地,是一起到达的,那么就会开战。
输入描述:
多组输入
n,m表示此图由n行m列组成 (1<= n,m<= 100),左上角的坐标是(1,1).
下跟n行m列矩阵,矩阵由*和#组成,一个#代表着一个诸侯,*代表此土地待征服。 保证割据图中最多只有十八位诸侯,最少没有诸侯。
输出描述:
输出第一场战争的(x,y)坐标
如果不会爆发战争,请输入-1.
如果多个地方同时爆发第一场战争,那么请先按x排序,再按y排序,依次输出。
如果爆发战争输出格式为:
1 2
2 5
此表示第一场战争将在(1,2)和(2,5)两个点爆发。
示例1
输出
复制-1 1 4 1 6 2 2
#include<bits/stdc++.h> using namespace std; char a[105][105]; int main() { int n,m; while(~scanf("%d%d",&n,&m)){ memset(a,'\0',sizeof(a)); for(int i=0;i<n;i++){ scanf("%s",a[i]); } int flag=0; for(int i=0;i<n;i++){ for(int j=0;j<m;j++){ if(a[i][j]=='*'){ int k=0; if(a[i][j-1]=='#'){ k++; } if(a[i][j+1]=='#'){ k++; } if(a[i-1][j]=='#'){ k++; } if(a[i+1][j]=='#'){ k++; } if(k>=2){ printf("%d %d\n",i+1,j+1); flag=1; } } } } if(flag==0){ printf("-1\n"); } } return 0; }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具