# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
144218 | emilem | Ljetopica (COI19_ljetopica) | C++14 | 4 ms | 380 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <algorithm>
#include <iostream>
#include <vector>
#include <string>
using namespace std;
const long long mod = 1000000007;
long long ans = 0;
int n, k;
string path, a, b;
vector<int> pow2(2000);
void Solve1(string path)
{
string res = "1";
for (int i = 0; i < path.length(); ++i)
{
res.push_back('0');
if (path[i] == 'R')
res.back() = '1';
}
if (res.length() < a.length() || res.length() > b.length())
return;
if (res < a || res > b)
return;
reverse(res.begin(), res.end());
for (int i = 0; i < res.length(); ++i)
if (res[i] == '1')
{
ans += pow2[i];
ans %= mod;
}
}
int main()
{
pow2[0] = 1;
for (int i = 1; i < pow2.size(); ++i)
pow2[i] = (pow2[i - 1] + pow2[i - 1]) % mod;
ios::sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);
cin >> n >> k;
cin >> path;
cin >> a >> b;
if (!k)
{
Solve1(path);
for (int i = 0; i < path.length(); ++i)
path[i] = (path[i] == 'L' ? 'R' : 'L');
Solve1(path);
cout << ans << endl;
}
else
{
}
char I;
cin >> I;
}
컴파일 시 표준 에러 (stderr) 메시지
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |