c++代码 已知一个n乘以n的矩阵,有一个小球一开始在(1,1)处,小球每秒都会向右走一个,如果到达最右边,小球就会掉落在下一行的第一个。如果到达(n,n)则返回(1,1)。 现在给定n和时间t,请你输出小球最后所在的行和列。
时间: 2023-12-14 20:36:24 浏览: 100
以下是C++代码:
```cpp
#include <iostream>
using namespace std;
int main() {
int n, t;
cin >> n >> t;
// 计算小球最后所在的列
int col = (t % n == 0) ? n : t % n;
// 计算小球最后所在的行
int row = ((t - 1) / n + 1) % 2 == 1 ? (t - 1) % n + 1 : n - (t - 1) % n;
cout << row << " " << col << endl;
return 0;
}
```
首先输入n和t,然后计算小球最后所在的列,如果小球恰好到达最右边,就返回第一列。接着计算小球最后所在的行,如果小球经过的总行数是偶数,那么最后所在的行就是(t-1) % n + 1,否则最后所在的行就是n - (t-1) % n。最后输出最后所在的行和列即可。
阅读全文