上海高校金馬五校賽 D 數字遊戲 套路

2021-08-19 16:09:04 字數 1420 閱讀 4117

時間限制:c/c++ 1秒,其他語言2秒

空間限制:c/c++ 131072k,其他語言262144k

64bit io format: %lld

題目描述

小埃和小森在玩乙個數字遊戲,小埃先從區間[l1, r1]裡選擇1個數字n1,小森看到小埃選的數字後,從[l2,r2]裡選擇1個數字n2, 將n1和n2連線在一起(n1在前, n2在後),形成乙個新的數字,若這個數字可以被mod整除,那麼小森獲勝,否則小埃獲勝。若兩個人均採取最優策略,試問誰獲勝?

輸入描述:

輸入測試組數t,每組資料,輸入一行整數l1, r1, l2, r2, mod,其中1<=l1<=r1<109,1<=l2<=r2<109, 1<=mod<=106

輸出描述:

每組資料輸出一行,若小埃獲勝,輸出win,否則輸出lose

示例1

輸入 2

6 9 3 5 1

5 10 7 8 6

輸出 lose

win因為mod的取值非常的有限,所以可以直接暴力!

#include

#include

#include

#include

#include

#include

#include

#include

using

namespace

std;

#define ll long long int

#define inf 0x3f3f3f3f

#define irish_moonshine main

const

int maxn = 1e6+2333;

//const ll mod = 1e9 + 7;

int a[maxn];

int b[maxn];

int tmp1, tmp2, mod;

void solve(int l1, int r1, int a)

else

}else

}}int irish_moonshine ()

tmp1 = l1 % mod;

tmp2 = r1 % mod;

solve(l1, r1, a);

tmp1 = l2 % mod;

tmp2 = r2 % mod;

solve(l2, r2, b);

if (a[0] == 1 && b[0] == 0) flag = 1;

for (int i = 1; i < mod; i++)

}if (flag) printf("win\n");

else

printf("lose\n");

}return0;}

//_crt_secure_no_warnings

上海高校金馬五校賽 J 小y寫文章

傳送門 題意 太懶了,去原題看吧。題解 最大值最小,明顯的二分痕跡,於是果斷二分最大值。check的話,可以比較明顯看出是乙個匹配問題,n個數字,共產生了n 1個空位,現在有m個數字要全部填進去,我們可以nm的建立數字 空位的邊,然後單獨再考慮一下最前最後兩個空位,但是這樣的匹配是n 1和m匹配,不...

上海高校金馬五校賽 C 序列變換 全排列

時間限制 c c 2秒,其他語言4秒 空間限制 c c 131072k,其他語言262144k 64bit io format lld 題目描述 給定兩個長度為n的序列,ai,bi 1 i n 通過3種魔法使得序列a變換為序列b,也就是ai bi 1 i n 魔法1 交換ai和aj,i j 首先通過...

十六屆金馬五校 I 二數

我們把十進位制下每一位都是偶數的數字叫做 二數 小埃表示自己很聰明,最近他不僅能夠從小數到大 2,3,4,5.也學會了從大數到小 100,99,98.他想知道從乙個數開始數最少的數就得到乙個二數。但是聰明的小森已經偷偷在心裡算好了小埃會數到哪個二數,請你求出他要數到哪個數吧。換句話說,給定乙個十進位...