S组程序填空自制题

空间限制:1024M
时间限制:114514h
约束:空间视为申请多少则占用多少

题目描述

有一个由 HHHWWW 列组成的 H×WH \times WH×W 的网格。第 iii 行第 jjj 列的格子记作 (i,j)(i, j)(i,j)
一开始,棋盘上的 (x1,y1)(x_1, y_1)(x1,y1) 位置上放有一个“车”,OIer 将进行 KKK 次如下操作:

  • 将车移动到与当前所在格子同行或同列的另一个格子(不能停在原地)。

请问经过 KKK 次操作后,车恰好停在 (x2,y2)(x_2, y_2)(x2,y2) 这个格子的方案数有多少种?答案可能非常大,请输出对 998244353998244353998244353 取模的结果。
由于这是6661年,所以棋盘非常大。
输入从标准输入中给出,格式如下:

  • HHH WWW KKK x1x_1x1 y1y_1y1 x2x_2x2 y2y_2y2

输出经过 KKK 次操作后,车恰好停在 (x2,y2)(x_2, y_2)(x2,y2) 这个格子的方案数,对 998244353998244353998244353 取模后的结果。

范围

  • 2≤H,W≤1092 \leq H, W \leq 10^92H,W109
  • 1≤K≤1061 \leq K \leq 10^61K106
  • 1≤x1,x2≤H1 \leq x_1, x_2 \leq H1x1,x2H
  • 1≤y1,y2≤W1 \leq y_1, y_2 \leq W1y1,y2W

代码

#include</*1*/>
using namespace std;
/*2*/ k;
const int N=1.8e6,M=200,p=998244353;
/*3*/ op[N][M];
long long c,d,a,b,w,h,x,y,X,Y,A,B,C,D;
signed main(){
	srand(time(0));
	ios::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
	/*5.1*/;
	cin>>w>>h>>k>>x>>X>>y>>Y;
	for(int i=k;i>=1;i--){
		k=max(k,i);
		int lx=rand()%N,ly=rand()%M;
		op[lx][ly]=rand()%40000000;
	}
	for(int i=1;i<=k;++i){
		A=(d*(h-/*4.1*/)+a*(w-/*4.2*/))%p;
		B=(d*(h-/*4.3*/)+c+b*(w-/*4.4*/))%p;
		C=(a*(w-/*4.5*/)+c+b*(h-/*4.6*/))%p;
		D=(b*(w+h-/*4.7*/)+d+a)%p;
		/*5.2*/=A;
		/*5.3*/=B;
		/*5.4*/=C;
		/*5.5*/=D;
	}
	cout<<(y==x&&Y==X?c:(y==x?d:(Y==X?a:b)));
	return 0;
}
  • 1(1分)111 处应填:
    A:https://luogu.com.cn
    B:bits/stdc++.h
    C:Windows.h
    D:con
  • 2(2分)222 处应填:
    A:int
    B:long long
    C:short
    D:__int128_t
  • 3(2分)333 处应填:
    A:short
    B:int
    C:long long
    D:__int128_t
  • 4(2.5分)4.1至4.74.1\text{至}4.74.14.7 处应填:
    A:2 1 1 2 2 1 3
    B:2 1 2 1 2 1 4
    C:1 1 2 1 2 1 4
    D:2 2 1 2 1 2 3
  • 5(2.5分) 5.1至5.55.1\text{至}5.55.15.5 处应填:
    A:a=1 a b c d
    B:b=1 b c d a
    C:c=1 c d a b
    D:d=1 d a b c

后记

grok4:101010 分!!!!!!!
grok3:888
Google Gimini:7.57.57.5
CSDN_AI:6.56.56.5
deepseekR1:6.56.56.5
豆包:6.56.56.5
phind:666
MINMAX:666
chatgpt:333
perplexity:333
deepseekV3:111
百度AI:111
Le Chat Mistral:111

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值