AcWing 5261. 数组中的斜线(两种方法)
原题链接
简单
作者:
叶域
,
2024-10-19 11:14:36
,
所有人可见
,
阅读 3
#include <iostream>
using namespace std;
const int N = 110;
double f[N][N];
int main()
{
int x, y;
char op;
cin >> x >> y >> op;
for(int i = 0; i < 12; i++)
for(int j = 0; j < 12; j++)
cin >> f[i][j];
double res = 0;
int cnt = 0;
// 从(x,y) 开始++
while(x < 12 && y < 12)
res += f[x][y], x++, y++, cnt++;
if(op == 'M') res /= cnt;
printf("%.1f", res);
return 0;
}
#include <iostream>
using namespace std;
int main()
{
int x, y, cnt = 0;
char op;
double res = 0, a;
cin >> x >> y >> op;
for(int i = 0; i < 12; i++)
for(int j = 0; j < 12; j++)
{
cin >> a;
// 在一条直线上 x - y 的值相等
if(i - j == x - y)
res += a, cnt++;
}
if(op == 'M') res /= cnt;
printf("%.1f", res);
return 0;
}