卜卦
問題 E: 卜卦
提交: 1 解決: 1
[提交][狀態][討論版][命題人:qianyouyou][Edit] [TestData)]
題目描述
趙神是一個特別特別悶騷的人。別看他平日表現很高冷,其實他一直暗戀著自己的小迷妹小花花,一日不見兮,思之如狂。馬上快七夕了,趙神想卜一卦算一下他的愛情幸運數,于是他找到了yoyo半仙替他卜卦。yoyo半仙需要趙神的3個幸運數字以及小花花的3個幸運數字方可進行卜卦。已知趙神的3個幸運數字是’5’’2’’0’而小花花的幸運數字是abc,(保證由5,2,0,a,b,c,這6個數各不相同,且abc均為30以內的素數)。卜卦規則如下:
由{520abc}組成的6個各不相同數中選取最小的3個數作為加數,其余最大的3個數作為基數。每一個數若加上加數僅能被基數整除,其他素數均不能整除,則該數稱為幸運數。其中第1314個幸運數為愛情幸運數。
現在你剛好知道小花花的幸運數,請你幫yoyo完成卜卦吧。PS:順利完成任務后則會收獲趙神珍藏版kiss一枚。
輸入
首行輸入t,代表t組測試樣例
接下來t行輸入三個數abc。
輸出
輸出第1314個幸運值
樣例輸入
2 7 3 11 7 11 13樣例輸出
29541015622 1775105893556 #include<bits/stdc++.h> using namespace std; #define ll long long const int fort=1314; ll coeff[6]; int cmp(ll a,ll b) {return a>b; } int main() {int t;cin>>t;while(t--){cin>>coeff[0]>>coeff[1]>>coeff[2];coeff[3]=5;coeff[4]=2;coeff[5]=0;sort(coeff,coeff+6,cmp);priority_queue<ll,vector<ll>,greater<ll> >pq;set<ll> s;set<ll> ans;pq.push(1);s.insert(1);for(int i=0;;i++){ll x=pq.top();pq.pop();if(i){for(int k=3;k<6;k++){ans.insert(x-coeff[k]);if(ans.size()==fort)break;}if(ans.size()==fort){set<ll>::reverse_iterator it=ans.rbegin();cout<<*it<<endl;break;}}//iffor(int j=0;j<3;j++){ll x2=x*coeff[j];if(!s.count(x2)){s.insert(x2);pq.push(x2);}}}}return 0; }?
總結
- 上一篇: 复原二叉树
- 下一篇: 简单计算器 逆波兰表达式