B3702求助
  • 板块题目总版
  • 楼主Beacon_wolf
  • 当前回复3
  • 已保存回复3
  • 发布时间2023/8/7 12:04
  • 上次更新2023/11/3 05:26:41
查看原帖
B3702求助
690669
Beacon_wolf楼主2023/8/7 12:04
#include <bits/stdc++.h>
using namespace std;
int main(){
	int m,n,i,j;
	cin >> m >> n >> i >> j;
	int s[n+1][2 * m+1];
	for(int a = 1;a <= n;a++)
		for(int b = 1;b <= 2 * m;b++)
			cin >> s[a][b];
	cout << i << " " << j << endl;	
	while(i != 0 && j != 0)
	{
		i = s[i][2 * j - 1];
		j = s[i][2 * j];
		cout << i << " " << j << endl;	
	}
}

[语言月赛202301] 华小科的旅行开始了

题目描述

华中科技大学(Huazhong University of Science and Technology, HUST)面积辽阔。其地图可以被划分为 nn 行 mm 列。用 (i,j)(i,j) 来表示第 ii 行第 jj 列的位置。

华小科的旅行开始了,她将从 (Sx,Sy)(S_x,S_y) 出发。在每一个 (i,j)(i,j) 位置有着任务指引,告诉华小科她下一步应该前往第 ii 行第 jj 列的位置,或者是结束旅行。

请你依次输出华小科的旅行到达的位置信息,数据保证旅行能够在有限步内结束。

输入格式

输入的第一行为四个整数 m,n,Sx,Sym,n,S_x,S_y,分别代表列数、行数和开始的坐标。

接下来 nn 行,每行 2m2m 个整数。第 ii 行的第 2⋅j−12\cdot j-1 和第 2⋅j2 \cdot j 个数为第 ii 行第 jj 列的“任务指引”。若两个数均为 00,则代表结束旅行。这些数均为 0∼max⁡{n,m}0 \sim \max \{n, m\} 范围内的整数。

输出格式

输出若干行,每行两个数 x,yx,y,由空格分开,代表华小科的旅行路径经过了 (x,y)(x,y)。

样例 #1

样例输入 #1

3 3 1 1
1 2 1 3 2 1
2 2 0 0 2 3
3 2 3 3 1 1

样例输出 #1

1 1
1 2
1 3
2 1
2 2

提示

样例 1 解释

华小科从 (1,1)(1,1) 出发,依次经过 (1,2),(1,3),(2,1)(1,2),(1,3),(2,1),在 (2,2)(2,2) 终止旅行。

数据规模与约定

对于 30%30\% 的测试数据,n=mn = m;
对于另外 30%30\% 的测试数据,Sx=Sy=1S_x=S_y=1;
对于 100%100\% 的测试数据,1≤n,m≤1031 \le n,m \le 10^3,1≤Sx≤n1 \le S_x \le n,1≤Sy≤m1 \le S_y \le m。

2023/8/7 12:04
加载中...