生活随笔
收集整理的這篇文章主要介紹了
codeforces 234E Champions' League
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
傳送門(mén):http://codeforces.com/problemset/problem/234/E
題目大意:(注意要用文件)有n個(gè)隊(duì)伍,每個(gè)隊(duì)伍都有一個(gè)積分,按照積分高低順序列出4個(gè)等級(jí)(每個(gè)等級(jí)n/4個(gè),所以n一定是4的倍數(shù)),然后x,a,b,c這4個(gè)數(shù)就是一個(gè)隨機(jī)數(shù)產(chǎn)生器,按照x=(x*a+b)mod c的規(guī)則來(lái)生成隨機(jī)數(shù),每生成一個(gè)隨機(jī)數(shù),便把這一個(gè)等級(jí)里的這個(gè)隨機(jī)數(shù)所指向的隊(duì)伍歸類(lèi)到group a里(或者是group b),當(dāng)4個(gè)等級(jí)刷完一遍后,然后再刷另一個(gè)隊(duì)伍。(p.s.我知道我解釋得很丑,將就著看吧。)
ac程序
#include <functional>
#include <algorithm>
#include <exception>
#include <stdexcept>
#include <streambuf>
#include <iterator>
#include <string.h>
#include <stdlib.h>
#include <typeinfo>
#include <valarray>
#include <iostream>
#include <sstream>
#include <istream>
#include <stdio.h>
#include <climits>
#include <clocale>
#include <complex>
#include <csetjmp>
#include <csignal>
#include <cstdarg>
#include <cstddef>
#include <ctype.h>
#include <cassert>
#include <cstdlib>
#include <utility>
#include <cstring>
#include <numeric>
#include <ostream>
#include <cwctype>
#include <fstream>
#include <iomanip>
#include <math.h>
#include <bitset>
#include <cctype>
#include <string>
#include <vector>
#include <limits>
#include <locale>
#include <memory>
#include <cerrno>
#include <iosfwd>
#include <cfloat>
#include <cstdio>
#include <cwchar>
#include <cmath>
#include <ctime>
#include <deque>
#include <queue>
#include <stack>
#include <list>
#include <ios>
#include <map>
#include <set>
#include <new>
#define ft first
#define sd second
#define np next_permutation
#define ll long long
#define pb push_back
using namespace std;
int n,x,a,b,c;
bool flag[
105];
vector<int> ans[
105];
pair<
int,
string> m[
105];
int sui()
{x*=a;x+=b;
if(x<=c)x=x;
elsex=x%c;
return x;
}
int main()
{
cin>>n;
cin>>x>>a>>b>>c;
for (
int i=
1;i<=n;i++){
cin>>m[i].sd;
cin>>m[i].ft;}sort(m+
1,m+n+
1);n/=
4;
for (
int i=
1;i<=n;i++){
for (
int j=
4;j>=
1;j--){
int test=sui()%(n-i+
1)+
1;
int test1=j*n+
1;
while (test>
0){test1--;
if (!flag[test1])test--;}flag[test1]=
1;ans[i].push_back(test1);}
cout<<
"Group "<<
char(
'A'+i-
1)<<
":"<<endl;
for (
int j=
0;j<
4;j++)
cout<<m[ans[i][j]].sd<<endl;}
return 0;
}
轉(zhuǎn)載于:https://www.cnblogs.com/NightRaven/p/9333258.html
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)
總結(jié)
以上是生活随笔為你收集整理的codeforces 234E Champions' League的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。