开场连wa三发A题,差点心态崩了,还好坚持打完了,一共A了三题

A题,判断能不能放第一个圆,能放的话,先手比赢

#include<map>
#include<set>
#include<cmath>
#include<queue>
#include<stack>
#include<vector>
#include<cstdio>
#include<cassert>
#include<iomanip>
#include<cstdlib>
#include<cstring>
#include<iostream>
#include<algorithm>
#define pi acos(-1.0)
#define ll long long
#define mod 1000000007
#define ls l,m,rt<<1
#define rs m+1,r,rt<<1|1
#pragma comment(linker, "/STACK:1024000000,1024000000") using namespace std; const double g=10.0,eps=1e-;
const int N=+,maxn=+,inf=0x3f3f3f; int main()
{
ios::sync_with_stdio(false);
cin.tie();
int a,b,r;
cin>>a>>b>>r;
if(a>=*r&&b>=*r)cout<<"First"<<endl;
else cout<<"Second"<<endl;
return ;
}
/********************* *********************/

A

B题,数学题,模拟一下就好了,注意符号一定要在第一个位置,刚开始用gcd负号在第二个数那里了wa了一发

#include<map>
#include<set>
#include<cmath>
#include<queue>
#include<stack>
#include<vector>
#include<cstdio>
#include<cassert>
#include<iomanip>
#include<cstdlib>
#include<cstring>
#include<iostream>
#include<algorithm>
#define pi acos(-1.0)
#define ll long long
#define mod 1000000007
#define ls l,m,rt<<1
#define rs m+1,r,rt<<1|1
#pragma comment(linker, "/STACK:1024000000,1024000000") using namespace std; const double g=10.0,eps=1e-;
const int N=+,maxn=+,inf=0x3f3f3f; int gcd(int a,int b)
{
return b ? gcd(b,a%b):a;
}
int main()
{
ios::sync_with_stdio(false);
cin.tie();
int n,m,a,b,a1,b1;
cin>>n>>m;
for(int i=;i<=n;i++)
{
cin>>a;
if(i==)a1=a;
}
for(int i=;i<=m;i++)
{
cin>>b;
if(i==)b1=b;
}
if(n>m)
{
if(a1*b1>)cout<<"Infinity"<<endl;
else cout<<"-Infinity"<<endl;
}
else if(n<m)cout<<"0/1"<<endl;
else
{
int x=gcd(a1,b1);
a1/=x;b1/=x;
if(a1*b1<)cout<<"-"<<abs(a1)<<"/"<<abs(b1)<<endl;
else cout<<abs(a1)<<"/"<<abs(b1)<<endl;
}
return ;
}
/********************* *********************/

B

C题才是最水的题。。。搞一个记录最大的数组从后往前扫一边就出来了

#include<map>
#include<set>
#include<cmath>
#include<queue>
#include<stack>
#include<vector>
#include<cstdio>
#include<cassert>
#include<iomanip>
#include<cstdlib>
#include<cstring>
#include<iostream>
#include<algorithm>
#define pi acos(-1.0)
#define ll long long
#define mod 1000000007
#define ls l,m,rt<<1
#define rs m+1,r,rt<<1|1
#pragma comment(linker, "/STACK:1024000000,1024000000") using namespace std; const double g=10.0,eps=1e-;
const int N=+,maxn=+,inf=0x3f3f3f; int maxx[N];
int main()
{
ios::sync_with_stdio(false);
cin.tie();
string s;
cin>>s;
maxx[s.size()]=;
for(int i=s.size()-;i>=;i--)
maxx[i]=max(maxx[i+],s[i]-'');
string ans="";
for(int i=;i<s.size();i++)
{
if(maxx[i]==s[i]-'')ans+=s[i];
}
cout<<ans<<endl;
return ;
}
/********************* *********************/

C

D题,dfs,如果一个点能从两个方向到达的话,那就输出yes,用一个数组记录到达的位置

#include<map>
#include<set>
#include<cmath>
#include<queue>
#include<stack>
#include<vector>
#include<cstdio>
#include<cassert>
#include<iomanip>
#include<cstdlib>
#include<cstring>
#include<iostream>
#include<algorithm>
#define pi acos(-1.0)
#define ll long long
#define mod 1000000007
#define ls l,m,rt<<1
#define rs m+1,r,rt<<1|1
#pragma comment(linker, "/STACK:1024000000,1024000000") using namespace std; const double g=10.0,eps=1e-;
const int N=+,maxn=+,inf=0x3f3f3f; char ma[N][N];
int dx[]= {,,-,};
int dy[]= {,,,-};
bool vis[N][N];
int n,m,sx,sy;
pair<int,int>v[N][N];
bool ok(int x,int y)
{
if(ma[x][y]=='.'&&!vis[x][y])return ;
return ;
}
void dfs(int x,int y)
{
int fx=x,fy=y;
while(fx<)fx+=n;
fx%=n;
while(fy<)fy+=m;
fy%=m;
if(vis[fx][fy]&&(v[fx][fy].first!=x||v[fx][fy].second!=y))
{
cout<<"Yes"<<endl;
exit();
}
if(!ok(fx,fy))return ;
vis[fx][fy]=;
v[fx][fy]=make_pair(x,y);
for(int i=;i<;i++)
dfs(x+dx[i],y+dy[i]);
}
int main()
{
ios::sync_with_stdio(false);
cin.tie();
cin>>n>>m;
for(int i=;i<n;i++)
{
for(int j=;j<m;j++)
{
cin>>ma[i][j];
if(ma[i][j]=='S')
{
sx=i;
sy=j;
ma[i][j]='.';
}
}
}
memset(vis,,sizeof vis);
dfs(sx,sy);
cout<<"No"<<endl;
return ;
}
/*********************
5 5
##.##
#..##
..###
.#S..
##.##
*********************/

D

E题,计算几何,极角排序,先dfs一遍预处理出每个节点有多少子节点,然后dfs一遍,每个区间进行极角排序(刚开始以为只需要一遍极角排序就行了,后来

#include<map>
#include<set>
#include<cmath>
#include<queue>
#include<stack>
#include<vector>
#include<cstdio>
#include<cassert>
#include<iomanip>
#include<cstdlib>
#include<cstring>
#include<iostream>
#include<algorithm>
#define pi acos(-1.0)
#define ll long long
#define mod 1000000007
#define ls l,m,rt<<1
#define rs m+1,r,rt<<1|1
#pragma comment(linker, "/STACK:1024000000,1024000000") using namespace std; const double g=10.0,eps=1e-;
const int N=+,maxn=+,inf=0x3f3f3f; struct point {
double x,y;
int id;
}p[N];
point p0;
vector<int>v[N];
int sz[N],ans[N];
bool comp(point p1,point p2)
{
double te=(p2.x-p0.x)*(p1.y-p0.y)-(p2.y-p0.y)*(p1.x-p0.x);
if(te<)return ;
return ;
}
void dfs(int u,int fa)
{
sz[u]=;
for(int i=;i<v[u].size();i++)
if(v[u][i]!=fa)
{
dfs(v[u][i],u);
sz[u]+=sz[v[u][i]];
}
}
void dfssort(int u,int fa,int be,int en)
{
for(int i=be;i<en;i++)
if(p[i].x<p[be].x||(p[i].x==p[be].x&&p[i].y<p[be].y))
swap(p[i],p[be]);
p0=p[be];
ans[p[be].id]=u;
sort(p+be+,p+en,comp);
int te=be;
for(int i=; i<v[u].size(); i++)
{
if(v[u][i]!=fa)
{
dfssort(v[u][i],u,te+,te+sz[v[u][i]]+);
te+=sz[v[u][i]];
}
}
}
int main()
{
ios::sync_with_stdio(false);
cin.tie();
int n;
cin>>n;
for(int i=;i<n;i++)
{
int a,b;
cin>>a>>b;
v[a].push_back(b);
v[b].push_back(a);
}
for(int i=;i<n;i++)
{
cin>>p[i].x>>p[i].y;
p[i].id=i+;
}
dfs(,-);
// for(int i=1;i<=n;i++)cout<<sz[i]<<endl;
dfssort(,-,,n);
for(int i=;i<=n;i++)cout<<ans[i]<<" ";
cout<<endl;
return ;
}
/*********************
3
1 3
2 3
0 0
1 1
2 0
*********************/

E

发现这样子节点可能会坐标倒回来,有可能相交)

CodeForces - 197D的更多相关文章

  1. Codeforces 197D - Infinite Maze

    197D - Infinite Maze 思路:bfs,如果一个点被搜到第二次,那么就是符合要求的. 用vis[i][j].x,vis[i][j].y表示i,j(i,j是取模过后的值)这个点第一次被搜 ...

  2. [CodeForces - 197D] D - Infinite Maze

    D - Infinite Maze We've got a rectangular n × m-cell maze. Each cell is either passable, or is a wal ...

  3. python爬虫学习(5) —— 扒一下codeforces题面

    上一次我们拿学校的URP做了个小小的demo.... 其实我们还可以把每个学生的证件照爬下来做成一个证件照校花校草评比 另外也可以写一个物理实验自动选课... 但是出于多种原因,,还是绕开这些敏感话题 ...

  4. 【Codeforces 738D】Sea Battle(贪心)

    http://codeforces.com/contest/738/problem/D Galya is playing one-dimensional Sea Battle on a 1 × n g ...

  5. 【Codeforces 738C】Road to Cinema

    http://codeforces.com/contest/738/problem/C Vasya is currently at a car rental service, and he wants ...

  6. 【Codeforces 738A】Interview with Oleg

    http://codeforces.com/contest/738/problem/A Polycarp has interviewed Oleg and has written the interv ...

  7. CodeForces - 662A Gambling Nim

    http://codeforces.com/problemset/problem/662/A 题目大意: 给定n(n <= 500000)张卡片,每张卡片的两个面都写有数字,每个面都有0.5的概 ...

  8. CodeForces - 274B Zero Tree

    http://codeforces.com/problemset/problem/274/B 题目大意: 给定你一颗树,每个点上有权值. 现在你每次取出这颗树的一颗子树(即点集和边集均是原图的子集的连 ...

  9. CodeForces - 261B Maxim and Restaurant

    http://codeforces.com/problemset/problem/261/B 题目大意:给定n个数a1-an(n<=50,ai<=50),随机打乱后,记Si=a1+a2+a ...

随机推荐

  1. php5.4 的 php-fpm 的重启

    php 5.3.3以后 源码中已经内嵌了 php-fpm,不用象以前的php版本一样专门打补丁了,只需要在configure的时候添加编译参数即可. 关于php-fpm的编译参数有 –enable-f ...

  2. eclipse或Myeclipse中web项目没有run on server时怎么办?

    文章转载至:http://blog.csdn.net/hongchangfirst/article/details/7722703 web项目没有run on server 1.首先确保正确安装Tom ...

  3. ViewConfiguration 和 ViewConfigurationCompat

    Contains methods to standard constants used in the UI for timeouts, sizes, and distances. 一.几个常用的方法 ...

  4. Keras网络层之卷积层

    卷积层 Cov1D层 keras.layers.convolutional.Conv1D(filters, kernel_size, strides=1, padding='valid', dilat ...

  5. servlet 文件下载

    [本文简介] 一个servlet 文件下载 的简单例子. [文件夹结构] [java代码] package com.zjm.www.servlet; import java.io.BufferedIn ...

  6. SQL CHECK sql server免费监控单实例工具

    SQL Check 阅读目录 SQL Check? 主要特点 说说不足 下载地址 小结 一款实时性能监测工具 回到目录 SQL Check? 一款实时监测SQL数据库性能.实时排查的问题的免费工具. ...

  7. PHP 数组教程 定义数组

    数组array是一组有序的变量,其中每个变量被叫做一个元素. 一.定义数组  可以用 array() 语言结构来新建一个数组.它接受一定数量用逗号分隔的 key => value 参数对.  a ...

  8. Mahout学习路线图-张丹老师

    前言 Mahout是Hadoop家族中与众不同的一个成员,是基于一个Hadoop的机器学习和数据挖掘的分布式计算框架.Mahout是一个跨学科产品,同时也是我认为Hadoop家族中,最有竞争力,最难掌 ...

  9. C/C++中浮点数输出格式问题

    在C语言中,浮点数的输出格式有三种:%g, %f, %e 首先要说的是%e是采用科学计数法来显示. %g与后两者有一个重要的差别,就是设置输出精度的时候,(C中默认浮点输出精度是6),%g认为,包括整 ...

  10. PageObjects 设计模式

    什么是Page Objects(翻译为:页面对象?)… 简单的说,Page Objects是指UI界面上用于与用户进行交互的对象.它可以指整个页面,也可以指Page上的某个区域.Page Object ...