https://codeforces.com/blog/entry/61675
념글에서 이거보고 이번 코포 E번 Hack해볼라고 했는데
그 블로그에 나온대로 time(NULL)값을 받아서 time(NULL) ~ time(NULL) + 9 까지 srand에 넣어가면서 나올 수 있는 값을 저격하는 식으로 generator를 짰더니
이런 메시지가 나오면서 generator crashed가 뜨네
실행할 때마다 다른 값이 나온다...? 이런뜻인가
다른 사람들 코드를 보니까 time(NULL)값을 받는게 아니라 그냥 현재 시간을 숫자로 넣어주던데
그럼 얘네들은 현재 시간 확인한 다음에 10초가 지나기 전에 재빨리 코드를 수정하고 서버에 제출하는 거야??
그거 시간이 되나... 큐에서 대기하고 있는 시간도 있을텐데
물론 이번에는 srand를 10번이 아니라 100번이든 1000번이든 돌려도 괜찮았지만
저 블로그에 있는 507B는 10번까지밖에 못돌리잖아?
그럴때 어떻게 Hack하는 거야..? 그냥 손의 스피드를 믿어야해?
혹시나 해서 내 코드도 올림
#include
#include
#include
#include
using namespace std;
int main()
{
int n = (int)1e6;
long long time_now = time(0);
bool t[n] = {};
for(int i = 0; i {
srand(time_now + i);
for(int j = 0; j t[((long long)rand()*RAND_MAX+rand())%n] = true;
}
int arr[n];
int odd = 1; int even = 2;
for(int i = 0; i {
if(t[i])
{
arr[i] = even;
even += 2;
}
else
{
if(odd > n)
{
arr[i] = even;
even += 2;
}
else
{
arr[i] = odd;
odd += 2;
}
}
}
cout < for(int i = 0; i cout < return 0;
}
내가 1시에 어떤 코드를 봤는데 그걸 해킹하고 싶으면 1시 10분 0초~9초에 맞춰서 해킹할 데이터를 만든 다음 한 1시 9분 59초에 제출하는거
아 그러네 미리 제출할 시간의 데이터를 만들어 놓으면 되는구나 근데 큐에서 대기하는 시간이 보통 10초는 안넘는 건가요?
고건 본인이 알아서 조절하셔야죠
이게 뭔ㅋㅋㅋㅋ
미쳤다 - dc App
개무섭다