a  ZOJ 3860

求和大家不一样的那个数,签到,map水之

 #include<cstdio>
#include<map>
using namespace std;
map<int,int> mp;
int main(){
int t,n,x;
while(~scanf("%d",&t)){
while(t--){
scanf("%d",&n);
mp.clear();
while(n--){
scanf("%d",&x);
mp[x]++;
}
if(mp.begin()->second==){
printf("%d\n",mp.begin()->first);
}
else{
printf("%d\n",mp.rbegin()->first);
}
}
}
return ;
}

ZOJ 3861

求输入的整数串有多少种合法的排列,枚举所有排列判断合法

 #include<cstdio>
#include<cstring>
#include<algorithm>
#include<map>
#include<vector>
#define mt(a,b) memset(a,b,sizeof(a))
using namespace std;
const int M=;
int a[M];
vector< vector<int> > ans;
vector<int> v;
int n;
bool vis[M];
bool good(int x,int y){
if(x>y) swap(x,y);
if(x==&&y==) return vis[];
if(x==&&y==) return vis[];
if(x==&&y==) return vis[];
if(x==&&y==) return vis[];
if(x==&&y==) return vis[];
if(x==&&y==) return vis[];
if(x==&&y==) return vis[];
if(x==&&y==) return vis[];
return true;
}
bool judge(){
mt(vis,);
for(int i=;i<n;i++){
if(good(a[i-],a[i])){
vis[a[i-]]=true;
vis[a[i]]=true;
}
else return false;
}
return true;
}
int main(){
int t;
while(~scanf("%d",&t)){
while(t--){
scanf("%d",&n);
for(int i=;i<n;i++){
scanf("%d",&a[i]);
}
sort(a,a+n);
ans.clear();
do{
if(judge()){
v.clear();
for(int i=;i<n;i++){
v.push_back(a[i]);
}
ans.push_back(v);
}
}while(next_permutation(a,a+n));
int la=ans.size();
printf("%d\n",la);
for(int i=;i<la;i++){
for(int j=;j<n;j++){
printf("%d%c",ans[i][j],j==n-?'\n':' ');
}
}
}
}
return ;
}

ZOJ 3862

有n个线段,知道每个线段端点的编号和坐标,每一步能交换一对编号的坐标,问能否在n+10步内使得所有线段不相交。

按点排序,x小,x相同y小,然后依次遍历,每次取两个点,若恰好是一对,无需操作,若不是一对,将第二个点与第一个点的对应点交换。

 #include<cstdio>
#include<cstring>
#include<algorithm>
#include<map>
#include<vector>
#define mt(a,b) memset(a,b,sizeof(a))
using namespace std;
const int M=2e5+;
struct point{
int x,y;
friend bool operator <(const point &a,const point &b){
return a.x<b.x||(a.x==b.x&&a.y<b.y);
}
}p[M],s[M];
int to[M];
typedef pair<int,int> pii;
map<pii,int> mp;
vector<point> ans;
int main(){
int t,n,x,y;
while(~scanf("%d",&t)){
while(t--){
scanf("%d",&n);
int n2=n*;
mp.clear();
for(int i=;i<n2;i++){
scanf("%d%d",&p[i].x,&p[i].y);
s[i]=p[i];
mp[make_pair(p[i].x,p[i].y)]=i;
}
sort(s,s+n2);
for(int i=;i<n;i++){
scanf("%d%d",&x,&y);
x--;
y--;
to[x]=y;
to[y]=x;
}
ans.clear();
for(int i=;i<n2;i+=){
point a=s[i];
point b=s[i+];
int aid=mp[make_pair(a.x,a.y)];
int bid=mp[make_pair(b.x,b.y)];
if(to[aid]==bid) continue;
int cid=to[aid];
mp[make_pair(p[cid].x,p[cid].y)]=bid;
swap(p[bid],p[cid]);
a.x=bid;
a.y=cid;
ans.push_back(a);
}
int la=ans.size();
printf("%d\n",la);
for(int i=;i<la;i++){
printf("%d %d\n",ans[i].x+,ans[i].y+);
}
}
}
return ;
}

end

The 15th Zhejiang University Programming Contest的更多相关文章

  1. ZOJ3865:Superbot(BFS) The 15th Zhejiang University Programming Contest

    一个有几个小坑的bfs 题目很长,但并不复杂,大概总结起来有这么点. 有t组输入 每组输入n, m, p.表示一个n*m的地图,每p秒按键会右移一次(这个等会儿再讲). 然后是地图的输入.其中'@'为 ...

  2. zoj 4020 The 18th Zhejiang University Programming Contest Sponsored by TuSimple - G Traffic Light(广搜)

    题目链接:The 18th Zhejiang University Programming Contest Sponsored by TuSimple - G Traffic Light 题解: 题意 ...

  3. The 16th Zhejiang University Programming Contest-

    Handshakes Time Limit: 2 Seconds      Memory Limit: 65536 KB Last week, n students participated in t ...

  4. The 19th Zhejiang University Programming Contest - H

    Princess Cjb is caught by Heltion again! Her knights Little Sub and Little Potato are going to Helti ...

  5. The 19th Zhejiang University Programming Contest Sponsored by TuSimple (Mirror) B"Even Number Theory"(找规律???)

    传送门 题意: 给出了三个新定义: E-prime : ∀ num ∈ E,不存在两个偶数a,b,使得 num=a*b;(简言之,num的一对因子不能全为偶数) E-prime factorizati ...

  6. The 19th Zhejiang University Programming Contest Sponsored by TuSimple (Mirror)

    http://acm.zju.edu.cn/onlinejudge/showContestProblems.do?contestId=391 A     Thanks, TuSimple! Time ...

  7. 2019 The 19th Zhejiang University Programming Contest

    感想: 今天三个人的状态比昨天计院校赛的状态要好很多,然而三个人都慢热体质导致签到题wa了很多发.最后虽然跟大家题数一样(6题),然而输在罚时. 只能说,水题还是刷得少,看到签到都没灵感实在不应该. ...

  8. Mergeable Stack 直接list内置函数。(152 - The 18th Zhejiang University Programming Contest Sponsored by TuSimple)

    题意:模拟栈,正常pop,push,多一个merge A B 形象地说就是就是将栈B堆到栈A上. 题解:直接用list 的pop_back,push_back,splice 模拟, 坑:用splice ...

  9. 152 - - G Traffic Light 搜索(The 18th Zhejiang University Programming Contest Sponsored by TuSimple )

    http://acm.zju.edu.cn/onlinejudge/showContestProblem.do?problemId=5738 题意 给你一个map 每个格子里有一个红绿灯,用0,1表示 ...

随机推荐

  1. Bitmap.Config 详解

    前言 Android是一个内存相当吃紧的系统,那么在做程序的过程中使用内存就需要相当谨慎,而我们接触最大的大对象估计就是Bitmap了,那么下面就根据Bitmap.Config值的介绍来看下Bitma ...

  2. mysql 排重查询

    GROUP BY 语句可以实现某一列的去重查询. 直接上语句: select io_dev_id from io_info where (TID=1 AND host_name='yang1') GR ...

  3. HTML5 学习笔记 1

    1.音频.视频 <!DOCTYPE HTML> <html> <body> <audio controls="controls"> ...

  4. xmpp push篇一 广播消息

    ---广播给所有人--- 1. 登录xmpp admin 账户 2. sendpacket <message to="pandans.com(域名)" > <bo ...

  5. windows下编译lua源码

    所有的lua源码都放在了 src 文件夹下,当然,不同的lua版本目录结构有可能不一样,但是都会有 src 这个文件夹,只有这个才是我们编译必须的.而且lua越做越精简了,5.1的版本里面还有一些te ...

  6. c# equals和==的区别

    简言之: equals必须是类型和值都得相等 == 只要值相等 注意: void Main() { ; ; Console.WriteLine(a.Equals(b)); //True (short会 ...

  7. django-url调度器-初级篇

    Django 遵从 MVC 模型,并将其特色化为 MTV 模型.模型的核心是通过用户访问的 url 来指向处理的函数,而函数处理后返回相应的结果.所以url决定了用户访问的入口,另外表单处理的提交地址 ...

  8. Mysql允许外网接入

    首先你可以为mysql创建一个账户,或者为root用户接入数据库. 授权用户指定所有主机以指定用户连接服务器 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDE ...

  9. qtp 设置等待时间

    1.file->settings->run .默认的时间是20 秒 2. browser("browser").Navigate http://www.baidu.co ...

  10. AppCan移动平台开发常见问题解答

    在使用AppCan移动平台开发跨平台APP时,有开发者会遇到一些问题, 不急,跟笔者一起来聊一聊使用AppCan平台开发中常见问题的解答方法. 问1.正常是按照官网提供的4个iphone启动图尺寸来做 ...