QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#579284 | #9255. Python Program | zhz_vite | WA | 0ms | 3724kb | C++23 | 2.0kb | 2024-09-21 11:28:57 | 2024-09-21 11:28:58 |
Judging History
answer
#include <bits/stdc++.h> // 包含所有标准库头文件
using namespace std; // 使用标准命名空间
#define int long long int // 定义 int 为 long long int,允许处理更大的整数
int I, n, *a[3], *b[3], *c[3], ans; // 定义全局变量 I, n 以及三个指向整数的指针数组和答案变量 ans
void proc(auto a, auto A) { // 定义函数 proc,处理输入
if (!isalpha(*a)) // 检查指针 a 指向的字符是否为字母
A[n] = new int(stoi(a)); // 如果不是字母,将其转换为整数并分配给 A[n]
else
A[n] = &I; // 如果是字母,将 A[n] 指向全局变量 I
}
signed main() { // 主函数
string s;
getline(cin, s); // 从标准输入读取一行字符串
for (int _ : {0, 1}) { // 对于 0 和 1 两次循环
getline(cin, s); // 读取下一行字符串
char a[9], b[9], c[9]{}; // 定义三个字符数组,存储输入的参数
sscanf(s.c_str(), "%*[\tf]or %*c in range(%[^,)],%[^,)],%[^,)]):", a, b, c);
// 解析字符串 s,提取范围的参数 a, b, c
if (!*c) *c = '1'; // 如果 c 为空,将其设为 '1'
proc(a, ::a); // 调用 proc 函数处理 a
proc(b, ::b); // 调用 proc 函数处理 b
proc(c, ::c); // 调用 proc 函数处理 c
++n; // 增加 n 的值
}
int F{**c > 0 ? 1 : -1}; // 根据 c 的值设置 F 为 1 或 -1
for (I = **a; I * F < **b * F; I += **c) { // 在 I 的范围内循环
int A{*a[1]}, B{*b[1]}, C{*c[1]}, f{1}; // 获取指针指向的值
if (C < 0) A *= -1, B *= -1, C *= -1, f *= -1; // 如果 C 小于 0,调整 A, B, C 和 f 的符号
int D{(B - A + C - 1) / C}; // 计算 D
if (B > A) // 如果 B 大于 A
ans += (A * 2 + (D - 1) * C) * D / 2 * f; // 更新答案
}
cout << ans << endl; // 输出答案
return 0; // 返回 0
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 0
Wrong Answer
time: 0ms
memory: 3724kb
input:
ans=0 for a in range(1,3): for b in range(5,1,-2): ans+=b print(ans)
output:
6
result:
wrong answer 1st lines differ - expected: '16', found: '6'