B. It's my own Invention

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;

信息

ID
1289
难度
8
分类
(无)
标签
递交数
302
已通过
24
通过率
8%
被复制
2
上传者