Funkcija
의견: 0
Mirko has written the following function:
int fun() {
int ret = 0;
for (int a = X1; a <= Y1; ++a)
for (int b = X2; b <= Y2; ++b)
...
for (int <N-th> = XN; <N-th> <= YN; ++<N-th>)
ret = (ret + 1) % 1000000007;
return ret;
}
function fun: longint;
var
ret: longint;
a, b, ... , y, z: longint;
begin
ret := 0;
for a := X1 to Y1 do
for b := X2 to Y2 do
...
for <N-th> := XN to YN do
ret := (ret + 1) mod 1000000007;
fun := ret;
end;
<N-th> denotes the \(N\)th lowercase letter of the English alphabet. Each \(X_i\) and \(Y_i\) denotes either a positive integer less than or equal to \(100\,000\) or a name of a variable that some outer loop iterates over. For example, \(X_3\) can be either a, b, or an integer literal. At least one of \(X_i\) and \(Y_i\) will be an integer literal (i.e. not a variable name) for every \(i\).
Compute the return value of the function.
The first line of input contains the positive integer \(N\) (\(1 \le N \le 26\)).
For the next \(N\) lines, the \(i\)-th line contains \(X_i\) and \(Y_i\), separated with a space. If \(X_i\) and \(Y_i\) are both integer literals, then \(X_i \le Y_i\).
The first and only line of output must contain the return value of the function.
| 서브태스크 | 점수 | 설명 |
|---|---|---|
Test 1 | 10점 | None |
Test 2 | 9점 | None |
Test 3 | 9점 | None |
Test 4 | 9점 | None |
Test 5 | 9점 | None |
Test 6 | 9점 | None |
Test 7 | 9점 | None |
Test 8 | 9점 | None |
Test 9 | 9점 | None |
Test 10 | 9점 | None |
Test 11 | 9점 | None |
2
1 2
a 353
2 3
1 2
1 a103
1 2
a 3
1 b11평가 및 의견
Funkcija
Log in to rate problems.
아직 의견이 없습니다. 자격이 된다면 위 양식에서 가장 먼저 평가해 보세요.
풀이 제출
Funkcija