----------------------------------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 <algorithm>
using namespace std; inline int read() {
int x=,f=;char c=getchar();
while(c<'' || c>'') { if(c=='-') f=-; c=getchar(); }
while(''<=c && c<='') x=x*+c-'',c=getchar();
return x*f;
} const int N = ;
int n;
struct points {
int id,w;
points() { w=; }
bool operator < (const points &qwq ) const {
return w > qwq.w;
}
} p[N]; int main() {
freopen("soccer.in","r",stdin);
freopen("soccer.out","w",stdout);
n=read();
char c;
for(int i=; i<=n; i++) {
p[i].id=i;
for(int j=; j<=n; j++) {
cin>>c;
if(c=='-') continue;
else if(c=='W') p[i].w+=;
else if(c=='D') p[i].w++,p[j].w++;
else if(c=='L') p[j].w+=;
}
}
sort(p+,p++n);
int x=p[].w;
for(int i=; i<=n; i++) {
if(p[i].w<x) break;
printf("%d ",p[i].id);
}
fclose(stdin);fclose(stdout);
return ;
}

----------------------------------------------------------------------

Ps:接下来就是单纯存个题=v=

----------------------------------------------------------------------

----------------------------------T2----------------------------------

——>最短路径

题目描述

平面内给出 n 个点,记横坐标最小的点为 A,最大的点为 B,现在小 Y 想要知道在每个点经过一次(A 点两次)的情况下从 A 走到 B,再回到 A 的最短路径。

但他是个强迫症患者,他有许多奇奇怪怪的要求与限制条件:

1.从 A 走到 B 时,只能由横坐标小的点走到大的点。

2.由 B 回到 A 时,只能由横坐标大的点走到小的点。

3.有两个特殊点 b1 和 b2, b1 在 0 到 n-1 的路上,b2 在 n-1 到 0 的路上。

请你帮他解决这个问题助他治疗吧!

输入输出格式

输入格式:

第一行三个整数 n,b1,b2,( 0 < b1,b2 < n-1 且 b1 <> b2)。n 表示点数,从 0 到 n-1 编号,b1 和 b2 为两个特殊点的编号。

以下 n 行,每行两个整数 x、y 表示该点的坐标(0 <= x,y <= 2000),从 0 号点顺序给出。

Doctor Gao 为了方便他的治疗,已经将给出的点按 x 增序排好了。

输出格式:

输出仅一行,即最短路径长度(精确到小数点后面 2 位)

输入输出样例

输入样例#1:

5 1 3
1 3
3 4
4 1
7 5
8 3
输出样例#1:

18.18

说明

20%的数据 n<=20

60%的数据 n<=300

100%的数据 n<=1000

对于所有数据 x,y,b1,b2 如题目描述.

T代码(暴力)

#include <iostream>
#include <cstdio>
#include <cmath>
#include <ctime>
#include <cstdlib>
using namespace std; inline int read() {
int x=,f=;char c=getchar();
while(c<'' || c>'') { if(c=='-') f=-; c=getchar(); }
while(''<=c && c<='') x=x*+c-'',c=getchar();
return x*f;
} const int N = ;
int n,AB,BA,t;
double ans=1e8,jl[N][N];
bool vis[N];
struct point {
int x,y;
} P[N]; double getjl(int a,int b) {
int x=P[a].x,y=P[a].y,x2=P[b].x,y2=P[b].y;
double p=max(x-x2,x2-x),q=max(y-y2,y2-y);
p*=p;q*=q;
return sqrt(p+q);
} void dfs(int now,int cnt,double nowl) {
if(nowl>ans) return;
if(now!=) vis[now]=true;
if(now==n- && cnt==) {
if(!vis[AB]) return;
dfs(now,,nowl);
}
if(now== && cnt==) {
for(int i=; i<n; i++) if(!vis[i]) return;
if(ans>nowl) {
ans=nowl;
return;
}
}
if(cnt==) {
for(int i=now+; i<n; i++) {
if(!vis[i] && i!=BA) {
dfs(i,,nowl+jl[now][i]);
vis[i]=false;
}
}
}
else {
for(int i=now-; i>=; i--) {
if(!vis[i] && i!=AB) {
dfs(i,,nowl+jl[now][i]);
vis[i]=false;
}
}
}
} int main() {
freopen("paths.in","r",stdin);
freopen("paths.out","w",stdout);
n=read();AB=read();BA=read();
for(int i=; i<n; i++)
P[i].x=read(),P[i].y=read();
for(int i=; i<n; i++)
for(int j=; j<n; j++) {
if(i==j) continue;
jl[i][j]=getjl(i,j);
}
dfs(,,0.00);
printf("%.2lf",ans);
fclose(stdin);fclose(stdout);
return ;
}

----------------------------------T3----------------------------------

——>阿 Q 的停车场

题目描述

刚拿到驾照的 KJ 总喜欢开着车到处兜风,玩完了再把车停到阿 Q 的停车场里,虽然她对自己停车的水平很有信心,

但她还是不放心其他人的停车水平,尤其是 Kelukin。

于是,她每次都把自己的爱车停在距离其它车最远的一个车位。

KJ 觉得自己这样的策略非常科学,于是她开始想:

在一个停车场中有一排车位,从左到右编号为 1 到 n,初始时全部是空的。

有若干汽车,进出停车场共 m 次。

对于每辆进入停车场的汽车,会选择与其它车距离最小值最大的一个车位,若有多个符合条件,选择最左边一个。

KJ 想着想着就睡着了,在她一旁的 Kelukin 想帮她完成这个心愿,但是他又非常的懒,不愿意自己动手,于是就把这个问题就留给了你:

在 KJ 理想的阿 Q 的停车场中,给你车辆进出的操作序列,依次输出每辆车的车位编号。

输入输出格式

输入格式:

第一行,两个整数 n 和 m,表示停车场大小和操作数;

接下来 m 行,每行两个整数 F 和 x

F 是 1 表示编号为 x 的车进停车场;

F 是 2 表示编号为 x 的车出停车场;

保证操作合法,即:

出停车场的车一定目前仍在停车场里;

停车场内的车不会超过 n;

输出格式:

对于所有操作 1,输出一个整数,表示该车车位的编号。

输入输出样例

输入样例#1:

7 11
1 15
1 123123
1 3
1 5
2 123123
2 15
1 21
2 3
1 6
1 7
1 8
输出样例#1:

1
7
4
2
7
4
1
3

说明

对 30%的数据 n<=1000 ,m<=1000

对 60%的数据 n<=200000,m<=2000

对 100%的数据 n,m<=200000,车的编号小于等于 10^6

T代码(暴力)

#include <iostream>
#include <cstdio>
#include <cstring>
#include <cmath>
using namespace std; inline int read() {
int x=,f=;char c=getchar();
while(c<'' || c>'') { if(c=='-') f=-; c=getchar(); }
while(''<=c && c<='') x=x*+c-'',c=getchar();
return x*f;
} const int C = ;
const int M = ;
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==) {
a[now].id=x;
memset(q,,sizeof(q));
int top=,w=;
for(int i=; i<=n; i++)
if(vis[i]) q[top++]=i;
for(int i=,Min,Max=; i<=n; i++) {
if(vis[i]) continue;
Min=M;
for(int j=,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=; i<n; i++)
if(a[i].id==x) {
id=a[i].w;
break;
}
vis[id]=false;
}
}
fclose(stdin);fclose(stdout);
return ;
}

2017.11.8 Noip2017 考前模拟赛的更多相关文章

  1. 2017.11.7 Noip2017 考前模拟赛

    ----------------------------------T1---------------------------------- ——>数学老师的报复 题目描述 11 班数学大佬 Y ...

  2. 2019.11.9 csp-s 考前模拟

    2019.11.9 csp-s 考前模拟 是自闭少女lz /lb(泪奔 T1 我可能(呸,一定是唯一一个把这个题写炸了的人 题外话: 我可能是一个面向数据编程选手 作为一个唯一一个写炸T1的人,成功通 ...

  3. 2017.9.17校内noip模拟赛解题报告

    预计分数:100+60+60=220 实际分数:100+60+40=200 除了暴力什么都不会的我..... T1 2017.9.17巧克力棒(chocolate) 巧克力棒(chocolate)Ti ...

  4. 2016.11.6 night NOIP模拟赛 考试整理

    题目+数据:链接:http://pan.baidu.com/s/1hssN8GG 密码:bjw8总结: 总分:300分,仅仅拿了120份. 这次所犯的失误:对于2,3题目,我刚刚看就想到了正确思路,急 ...

  5. 【NOIP考前模拟赛】纯数学方法推导——旅行者问题

    一.写在前面 这题似乎是一道原创题目(不是博主原创),所以并不能在任何OJ上评测,博主在网盘上上传了数据(网盘地址:http://pan.baidu.com/s/1mibdMXi),诸位看官需者自取. ...

  6. 【XJOI】【NOI考前模拟赛7】

    DP+卡常数+高精度/  计算几何+二分+判区间交/  凸包 首先感谢徐老师的慷慨,让蒟蒻有幸膜拜了学军的神题.祝NOI2015圆满成功 同时膜拜碾压了蒟蒻的众神QAQ 填填填 我的DP比较逗比……( ...

  7. 2017.11.7~8模拟测试总结---暨NOIP2017考前对策

    最后两天了,第三天就是NOIP2017--Day1了. 刚刚考完了这个学期从开学以来的最后一场模拟赛了.首先要对于这场模拟赛做一次深刻的反思. 考完才猛地惊叹这是最后一场模拟赛了,然而题目并不难,也保 ...

  8. [OI笔记]NOIP2017前(退役前)模拟赛的总结

    好久没写blog了- 在noip2017前的最后几天,也就是在我可能将要AFO的前几天写点东西吧- 记录这最后几个月打的那些大大小小的模拟赛 一些比赛由于不允许公开所以就没有贴链接跟题面了- 2017 ...

  9. NOIp2017真题模拟赛 By cellur925

    果然我还是最菜的==不接受反驳 (先考了day2喵喵喵) Day2 T1:奶酪 期望得分:100分 实际得分:100分 考察:并查集 思路:这题其实之前做过了==.思路还是比较清晰的,读入时预处理出可 ...

随机推荐

  1. HTML5从入门到精通(千锋教育)免费电子版+PDF下载

    本书是HTML5初学者极好的入门教材之一,内容通俗易懂.由浅入深.循序渐进.本书内容覆盖全面.讲解详细,其中包括标签语义化.标签使用规范.选择器类型.盒模型.标签分类.样式重置.CSS优化.Photo ...

  2. 近期学习python的小问题及解决方案

    ①定义空的二维列表来读取放置文件的内容: 在python中定义二维数组 - woshare - 博客园https://www.cnblogs.com/woshare/p/5823303.html ②调 ...

  3. springboot整合druid、mybatis

    目的: 1.springboot配置数据库连接池druid 测试druid中url监控 2.springboot整合mybatis 测试查删案例 3.springboot整合pagehelper sp ...

  4. ubuntu下tftp的安装、配置、使用

    1. 安装 sudo apt-get install tftp-hpa tftpd-hpa -y 2. 配置 sudo vi /etc/default/tftpd-hpa #/etc/default/ ...

  5. javascript基本类型和对象

    JS 中分为七种内置类型,七种内置类型又分为两大类型:基本类型和对象(Object). 基本类型 null undefined boolean number string symbol 其中 JS 的 ...

  6. Z算法板子

    给定一个串$s$, $Z$算法可以$O(n)$时间求出一个$z$数组 $z_i$表示$s[i...n]$与$s$的前缀匹配的最长长度, 下标从$0$开始 void init(char *s, int ...

  7. MySQL 体系结构及存储引擎

    MySQL 原理篇 MySQL 索引机制 MySQL 体系结构及存储引擎 MySQL 语句执行过程详解 MySQL 执行计划详解 MySQL InnoDB 缓冲池 MySQL InnoDB 事务 My ...

  8. hdu 1501 贪心问题

    这道题目的关键就是逐个搜索的过程 找个时间得复习一下dfs了    这里使用temp作为参照变量 每次比较以后(由于已经排序好) 已temp为参照进行下一次的比较

  9. hadoop入门-centos7.2安装hadoop2.8

    1. 安装准备 (1)必须安装jdk: 因为hadoop是基于Java实现的,所有必须安装jdk 是JDK不是jre jdk1.7 jdk1.8 (2)系统位数 (3)创建专用用户 useradd h ...

  10. you might not need jquery

    What's the oldest version of IE you need to support? IE10 /**json**/ var request = new XMLHttpReques ...