题意:
方法一:
模拟
思路:直接模拟。
按照以下顺序输出结果:
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); } } }
时间复杂度:空间复杂度: