AT_arc148_f.[ARC148F] 998244353 → 1000000007

NOI/NOI+/CTSC

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

本题为输出仅题。

有一种编程语言,支持无符号 64 位整数的加法、乘法以及以 998244353998244353 为除数的取模运算。
请使用该语言编写一个程序,实现 $ \text{mod}\ 1000000007 $ 下的乘法。

更严格地说,给定 00 到 10000000061000000006 之间的整数 a,ba, b,请按照以下规格和格式,编写一个程序,计算 a×b mod 1000000007a \times b \bmod{1000000007}。

输入格式

标准输入为空。

输出格式

请输出按照题目描述的规格和格式编写的程序。

输入输出样例

  • 输入#1

    
    

    输出#1

    5
    mul C A B
    rem C C
    add A A 10
    add D 2 B
    add E 1 0

说明/提示

程序的规格

本程序可以操作用英文字母大写表示的 A,B,…,ZA, B, \dots, Z 共 2626 个变量。
每个变量可以存储 00 到 264−12^{64}-1 之间的整数(下文称为无符号 64 位整数)。
程序开始执行时,变量 AA 被赋值为整数 aa,变量 BB 被赋值为整数 bb,其余变量均为 00。
程序执行结束时,变量 CC 必须存储 a×b mod 1000000007a \times b \bmod{1000000007} 的值。

程序的格式

第 11 行为一个整数 NN,表示程序的指令数,满足 1≤N≤1001 \leq N \leq 100。
第 22 行到第 N+1N+1 行,每行一条指令,指令按顺序依次执行。
指令有以下三种形式之一:

  • add x y z
    • 将 xx 赋值为 (y+z) mod 264(y + z) \bmod{2^{64}}。其中 xx 为变量,y,zy, z 可以是变量或无符号 64 位整数。
  • mul x y z
    • 将 xx 赋值为 y×z mod 264y \times z \bmod{2^{64}}。其中 xx 为变量,y,zy, z 可以是变量或无符号 64 位整数。
  • rem x y
    • 将 xx 赋值为 y mod 998244353y \bmod{998244353}。其中 xx 为变量,yy 可以是变量或无符号 64 位整数。

判题

如果提交的程序格式不正确,评测结果不确定。
如果提交的程序格式正确,评测器会针对每个测试用例,独立地对 10410^4 组整数对 (a,b)(a, b)(0≤a,b≤10000000060 \leq a, b \leq 1000000006)运行程序(这些整数对由评测器预先准备,并在每个测试用例中固定)。
若对于所有 (a,b)(a, b),程序执行结束时变量 CC 的值均为 a×b mod 1000000007a \times b \bmod{1000000007},则评测结果为 AC,否则为 WA。

样例说明 1

下面给出一个格式正确的程序示例(但该程序不满足题目要求,提交会得到 WA)。该程序执行结束后,各变量的值如下:

  • AA : a+10a + 10
  • BB : bb
  • CC : a×b mod 998244353a \times b \bmod{998244353}
  • DD : b+2b + 2
  • EE : 11
  • 其余变量 : 00

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页