2017.11.8 Noip2017 考前模拟赛
2017-11-08 15:17
253 查看
----------------------------------T1----------------------------------
——>足球联赛
题目描述
巴蜀中学新一季的足球联赛开幕了。
足球联赛有 n 只球队参赛,每赛季,每只球队要与其他球队各赛两场,主客各一场,赢一场得 3 分,输一场不得分,平局两只队伍各得一分。
英勇无畏的小鸿是机房的主力前锋, 她总能在关键时刻踢出一些匪夷所思的妙球。
但是很可惜,她过早的燃烧完了她的职业生涯,不过作为一个能够 Burning 的 girl,她的能力不止如此,她还能预测这个赛季所有球队的比赛结果。
虽然她能准确预测所有比赛的结果,但是其实她不怎么厉害,Mr.Gao 上数学课时她总是在 sleep,
因此她的脑里只有整数没有实数,而且,她只会 10 以内非负整数的加法运算,
因此她只有结果却无法知道谁会获得联赛的冠军。
小鸿想给冠军队伍的所有队员一个拥抱,所以她把计算结果的任务交给了你:
现在,给你一个 n*n 的矩阵表示比赛情况。
第 i 行第 j 列的字母表示在第 i 只队伍在主场迎战第 j 只队伍的比赛情况,W 表示主队赢,L 表示主队输,D 表示平局。
现在需要你给出最后能得到小鸿拥抱的队伍编号,如有多支队伍分数最高,按字典序输出编号。
输入输出格式
输入格式:
第一行一个整数 n。
接下来 n 行,每行 n 个字符,表示输赢情况。
第 i 行第 i 列为 - ,因为一只队伍不可能与自己比赛。
输出格式:
输出得分最高的队伍编号。如有多个在一行中输出,用一个空格分开。
输入输出样例
输入样例#1:3 -WW W-W WW-输出样例#1:
1 2 3输入样例#2:
5 -DWWD L-WLL DD-WD DDL-L DDLL-输出样例#2:
1
说明
对于 40%的数据,满足 N<=20
对于 100%的数据,满足 N<=50
思路=A=
大模拟,如果主场赢了就+=3,输了就让另一个+=3(写成++,蠢哭了qaq),如果平局就双方++
代码酱=u=
#include <iostream> #include <cstdio> #include <cstring> #include <cmath> using namespace std; inline int read() { int x=0,f=1;char c=getchar(); while(c<'0' || c>'9') { if(c=='-') f=-1; c=getchar(); } while('0'<=c && c<='9') x=x*10+c-'0',c=getchar(); return x*f; } const int C = 100015; const int M = 200025; int n,m,F,x,now; int q[M]; bool vis[C]; struct car { int id,w; } a[M]; int main() { freopen("park.in","r",stdin); freopen("park.out","w",stdout); n=read();m=read(); while(m--) { F=read();x=read(); if(F==1) { a[now].id=x; memset(q,0,sizeof(q)); int top=0,w=1; for(int i=1; i<=n; i++) if(vis[i]) q[top++]=i; for(int i=1,Min,Max=0; i<=n; i++) { if(vis[i]) continue; Min=M; for(int j=0,y; j<top; j++) { y=max(i-q[j],q[j]-i); if(y<Min) Min=y; } if(Max<Min) Max=Min,w=i; } vis[w]=true; a[now++].w=w; printf("%d\n",w); } else { int id; for(int i=0; i<n; i++) if(a[i].id==x) { id=a[i].w; break; } vis[id]=false; } } fclose(stdin);fclose(stdout); return 0; }View Code
相关文章推荐
- 2017.11.7~8模拟测试总结---暨NOIP2017考前对策
- [jzoj5406]【NOIP2017提高A组模拟10.10】Tree
- 【jzoj5350】【NOIP2017提高A组模拟9.7】【陶陶摘苹果】【动态规划】
- 【JZOJ5232】【NOIP2017模拟A组模拟8.5】带权排序
- 【JZOJ 5249】【NOIP2017提高A组模拟8.10】文本编辑器
- JZOJ 4921. 【NOIP2017提高组模拟12.10】幻魔皇
- JZOJ 5376. 【NOIP2017提高A组模拟9.19】Candy
- JZOJ 5195. 【NOIP2017提高组模拟7.3】A
- jzoj5385. 【NOIP2017提高A组模拟9.23】Carry
- JZOJ100041. 【NOIP2017提高A组模拟7.12】列车调度
- JZOJ 100043. 【NOIP2017提高A组模拟7.13】第K小数
- JZOJ100046. 【NOIP2017提高A组模拟7.14】收集卡片
- jzoj5394 【NOIP2017提高A组模拟10.5】Ping
- 【JZOJ 5393】【NOIP2017提高A组模拟10.5】Snake vs Block
- [NOIP2017模拟]Cut
- JZOJ 5398. 【NOIP2017提高A组模拟10.7】Adore
- NOIP2017 模拟考试 day2 2017.10.07
- JZOJ 5329. 【NOIP2017提高A组模拟8.22】时间机器
- [NOIP2017模拟]art2
- JZOJ 5353. 【NOIP2017提高A组模拟9.9】村通网