時間限制: 1 s
空間限制: 128000 kb
題目等級 : ** silver
lele 最近上課的時候都很無聊,所以他發明了乙個數字遊戲來打發時間。 這個遊戲是這樣的,首先,他拿出幾張紙片,分別寫上0到9之間的任意數字(可重複寫某個數字),然後,他叫同學隨便寫兩個數字x和k。lele要做的事情就是重新拼這些紙牌,組成數字 t ,並且 t + x 是 k 的正整數倍。 有時候,當紙片很多的時候,lele經常不能在一節課之內拼出來,但是他又想知道答案,所以,他想請你幫忙寫乙個程式來計算答案。
輸入描述 input description
第一行包含兩個整數 n和m(0第二行包含n個整數分別代表紙片上寫的數字,每個數字可能取0~9。
接下來有m行詢問,每個詢問給出兩個整數x和k(0<=x<10^9,0
輸出描述 output description
對於每次詢問,如果能夠用這些紙片拼出符合答案的t,就輸出結果t。如果有多個結果,就輸出符合要求的最小的t。
如果不能拼出,就輸出"none"。
樣例輸入 sample input
4 3
1 2 3 4
5 7
33 6
12 8
樣例輸出 sample output
none
資料範圍及提示 data size & hint
傳送門 點此展開
滿分做法是全排列,也不知為啥這題資料能讓9!*2000過,可能出題人比較良心吧。。
**如下
#include #include80分暴力 每個大於10^(n-1)小於10^(n-1)*maxn倍數進行列舉 再看看出現次數是否一致#include
#include
#include
#include
#define inf 1111111111
using
namespace
std;
bool
f;int minn=inf,ans,s[11],z,q,maxn,cs[19],cs1[19
],b,t,r,w,x,k,a,n,m,i,j;
intmain()
for(j=0;jj)
if((ans+x)%k==0
)
} while (next_permutation(s,s+n));
if(!f)
cout
<
none
"<
else cout}}
僅供參考,最後一點跑1分鐘能跑出來。。
**
#include #include點選展開#include
#include
#include
using
namespace
std;
bool
f;char s[100000001
];int z,q,maxn,cs[19],cs1[19
],b,t,r,w,x,k,a,n,m,i,j;
int pd(int
k)
return1;
}int
main()
b = z * (maxn+1
);
for (i = 0 ;i < m ;++i)
}if(!f)}}
T1229 數字遊戲 codevs
題目描述 description lele 最近上課的時候都很無聊,所以他發明了乙個數字遊戲來打發時間。這個遊戲是這樣的,首先,他拿出幾張紙片,分別寫上0到9之間的任意數字 可重複寫某個數字 然後,他叫同學隨便寫兩個數字x和k。lele要做的事情就是重新拼這些紙牌,組成數字 t 並且 t x 是 k...
1229 數字遊戲
題目描述 description lele 最近上課的時候都很無聊,所以他發明了乙個數字遊戲來打發時間。這個遊戲是這樣的,首先,他拿出幾張紙片,分別寫上0到9之間的任意數字 可重複寫某個數字 然後,他叫同學隨便寫兩個數字x和k。lele要做的事情就是重新拼這些紙牌,組成數字 t 並且 t x 是 k...
wikioi 1229 數字遊戲(dfs 水題)
赤裸裸的水題啊。一開始我認為不用用完全部的牌,以為爆蒐會tle。可是我想多了。將所有狀態全部求出,排序後暴力判斷即可。水題有點嚴重啊 include include using namespace std int n,m int h 440000 cnt,a 12 bool vis 12 void ...