NC222529. 图像识别
描述
输入描述
第一行输入两个正整数
其后n行,每行一个长度为m的字符串,图像矩阵A,矩阵内'*'表示坐标轴,'#'表示目标点,'.'表示空保证目标点唯一且不在坐标轴上。
输出描述
输出两个整数x,y,代表目标点的坐标。
示例1
输入:
10 10 ........*. ........*. ........*. ........*. ....#...*. ........*. ........*. ********** ........*. ........*.
输出:
-4 3
Python3 解法, 执行用时: 124ms, 内存消耗: 12544K, 提交时间: 2022-11-12 19:25:35
n,m=map(int,input().split()) matrix=[] for i in range(n): matrix.append(list(input())) x=0 pos=0 ans=[0,0] for i in range(n): if matrix[i].count('*')==m: x=i if '#' in matrix[i]: pos=i ans[1]=x-pos ans[0]=matrix[pos].index('#')-matrix[pos].index('*') print(' '.join(list(map(str,ans))))
C++(clang++ 11.0.1) 解法, 执行用时: 50ms, 内存消耗: 452K, 提交时间: 2023-05-14 14:05:48
#include<iostream> using namespace std; int main() { int n,m,a,b,x,y; cin>>n>>m; char c; for(int i=1;i<=n;i++) { for(int j=1;j<=m;j++) { cin>>c; if(c=='#')a=i,b=j; if(j==1&&c=='*')y=i; if(i==1&&c=='*')x=j; } } cout<<b-x<<" "<<y-a; }