提交记录 8103


用户 题目 状态 得分 用时 内存 语言 代码长度
codesonic 1000. 测测你的 A+B Compile Error 0 0 ns 0 KB C++ 1.03 KB
提交时间 评测时间
2019-01-29 11:03:52 2020-08-01 01:12:33
#include <cstdio>
#include <algorithm>

typedef long long int64;

const int MOD = 1e9+7;

inline int qpow(int b, int p, int mod) {
	int res=1;
	
	while(p){
		if(p&1) res=(int64)res*b%mod;
		b=(int64)b*b%mod;
		p>>=1;
	}
	return res;
}
inline int gcd(int x, int y) {
	int t;
	while(y){
		t=x%y;
		x=y;
		y=t;
	}
	return x;
}
inline int abs(int x) { return x<0?-x:x; }

inline int f(int n, int m) {
	int i, j;
	int res=0;
	
	if(n>m) std::swap(n, m);
	for(i=1; i<=n; i++) {
		res=(res + (int64)(i-1)*i/2)%MOD;
		res=(res + (int64)(m-i)*(m-i+1)/2 )%MOD;
	}
	return res;
}

int main() {
	freopen("land.in", "r", stdin);
	freopen("land.out", "w", stdout);
	
	int i, j;
	int T, n, m, a, x1, x2, y1, y2;
	int ans;
	
	scanf("%d %d %d %d", &T, &n, &m, &a);
	while(T--){
		ans=0;
		scanf("%d %d %d %d", &x1, &y1, &x2, &y2);
		if(a){
			for(i=x1; i<=x2; i++)
				for(j=y1; j<=y2; j++)
					ans=(ans+(int64)abs(i-j)*qpow(gcd(i, j), a, MOD))%MOD;
		}
		else
			ans=(f(x2, y2)-f(x1-1, y2)-f(x2, y1-1)+f(x1-1, y1-1)+MOD*10ll)%MOD;
		printf("%d\n", ans);
	}
	return 0;
}

CompilationN/AN/ACompile ErrorScore: N/A


Judge Duck Online | 评测鸭在线
Server Time: 2026-04-07 09:48:39 | Loaded in 1 ms | Server Status
个人娱乐项目,仅供学习交流使用 | 捐赠