B. It's my own Invention
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
B. It's my own Invention
时间限制:1s
空间限制:64MB
本题分值:150
题目背景
一切伟大的行动和思想,都有一个微不足道的开始
请用编程的方法,解决下面的问题。
题目描述
给定整数 \(a,b,c,d\) ,求两行两列的行列式
| a b |
| c d |
的值。
由于答案可能过大,请对 \(10^9+7\) 取模。
其中, \(a\) 对 \(b\) 取模指的是求 \(a÷b\) 的余数。在c语言中即
ANS = a % b; // now ANS is the remainder of a / b
由于对负数的取模答案有争议,所以输入保证行列式的值 一定是非负数。
输入格式
一行四个整数 \(a,b,c,d\)
输出格式
仅一个非负整数,表示行列式的值,请对 \(10^9+7\) 取模。
样例输入1
2 7 -5 3
样例输出1
41
样例1解释
| 2 \(\ \) 7|
| -5 3|
= 2 * 3 - (-5) * 7 = 41\(41\equiv 41(\mod 10^9+7)\)
样例输入2
133750 7799160 -7555298 -5671956
样例输出2
353427518
数据范围及限制
测试点编号 | 约定 | 测试点分值 |
---|---|---|
1~4 | \( -10^3\le a,b,c,d\le 10^3\) | 每个测试点20分 |
5 | \(-10^7\le a,b,c,d\le 10^{7}\) | 每个测试点30分 |
6 | \(-10^{18}\le a,b,c,d\le 10^{18}\) | 每个测试点40分 |
数据保证\(ad\ge bc\)。 注意,输入的 \(a,b,c,d\) 可能超出32位整数的范围。你可能需要使用
long long a,b,c,d; //In GNU C++, 64-bit integers MUST be of type "long long"
而不是
int a,b,c,d;