题意:
方法一:
模拟
思路:直接模拟。
按照以下顺序输出结果:
1 表格的行列值
2 要交换的两个单元格的行列值
3 输入要插入的行的数值
4 输入要插入的列的数值
5 输入要查询的单元格的坐标
#include <bits/stdc++.h>
using namespace std;
int main(){
int n,m,x1,y1,x2,y2,x,y;
while(cin >> n >> m){
if(n<=9&&m<=9)//初始化表格是否成功
cout << 0 << endl;
else
cout << -1 << endl;
cin >> x1 >> y1 >> x2 >> y2;
if(x1>=0&&x1<n&&y1>=0&&y1<m&&x2>=0&&x2<n&&y2>=0&&y2<m)//交换单元格是否成功
cout << 0 << endl;
else
cout << -1 << endl;
cin >> x;
if(n<9&&x>=0&&x<n)//插入行
cout << 0 << endl;
else
cout << -1 << endl;
cin >> y;
if(m<9&&y>=0&&y<m)//插入列
cout << 0 << endl;
else
cout << -1 << endl;
cin >> x >> y;
if(x>=0&&x<n&&y>=0&&y<m)//查询单元格数据
cout << 0 << endl;
else
cout << -1 << endl;
}
return 0;
}
时间复杂度:
空间复杂度:![]()
方法二:
java实现
思路:java实现。思路与方法一相同。
import java.util.*;
public class Main{
public static void main(String[] args){
int n,m,x1,y1,x2,y2,x,y;
Scanner cin=new Scanner(System.in);
while(cin.hasNextInt()){
n=cin.nextInt();
m=cin.nextInt();
if(n<=9&&m<=9)//初始化表格是否成功
System.out.println(0);
else
System.out.println(-1);
x1=cin.nextInt();
y1=cin.nextInt();
x2=cin.nextInt();
y2=cin.nextInt();
if(x1>=0&&x1<n&&y1>=0&&y1<m&&x2>=0&&x2<n&&y2>=0&&y2<m)//交换单元格是否成功
System.out.println(0);
else
System.out.println(-1);
x=cin.nextInt();
if(n<9&&x>=0&&x<n)//插入行
System.out.println(0);
else
System.out.println(-1);
y=cin.nextInt();
if(m<9&&y>=0&&y<m)//插入列
System.out.println(0);
else
System.out.println(-1);
x=cin.nextInt();
y=cin.nextInt();
if(x>=0&&x<n&&y>=0&&y<m)//查询单元格数据
System.out.println(0);
else
System.out.println(-1);
}
}
}
时间复杂度:
空间复杂度:![]()



京公网安备 11010502036488号