The 15th Zhejiang University Programming Contest
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 ;
- }
b 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 ;
- }
c 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的更多相关文章
- ZOJ3865:Superbot(BFS) The 15th Zhejiang University Programming Contest
一个有几个小坑的bfs 题目很长,但并不复杂,大概总结起来有这么点. 有t组输入 每组输入n, m, p.表示一个n*m的地图,每p秒按键会右移一次(这个等会儿再讲). 然后是地图的输入.其中'@'为 ...
- 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 题解: 题意 ...
- The 16th Zhejiang University Programming Contest-
Handshakes Time Limit: 2 Seconds Memory Limit: 65536 KB Last week, n students participated in t ...
- 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 ...
- 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 ...
- The 19th Zhejiang University Programming Contest Sponsored by TuSimple (Mirror)
http://acm.zju.edu.cn/onlinejudge/showContestProblems.do?contestId=391 A Thanks, TuSimple! Time ...
- 2019 The 19th Zhejiang University Programming Contest
感想: 今天三个人的状态比昨天计院校赛的状态要好很多,然而三个人都慢热体质导致签到题wa了很多发.最后虽然跟大家题数一样(6题),然而输在罚时. 只能说,水题还是刷得少,看到签到都没灵感实在不应该. ...
- 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 ...
- 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表示 ...
随机推荐
- mariadb主从复制架构学习笔记
复制功用: 数据分布 负载均衡:读操作,适用于读密集型的应用 备份 高可用和故障切换 MySQL升级测试 在从服务器上有两个线程: I/O线程:从master请求二进制日志信息,并保存至中继日志 SQ ...
- Varint编码
LevelDB内部通过采用变长编码,对数据进行压缩来减少存储空间,采用CRC进行数据正确性校验.下面就对varint编码进行学习. 传统的integer是以32位来表示的,存储需要4个字节,当如果整数 ...
- Android计时器TimerTask,Timer,Handler
Android计时器TimerTask,Timer,若要在TimerTask中更新主线程UI,鉴于Android编程模型不允许在非主线程中更新主线程UI,因此需要结合Android的Handler实现 ...
- 获取android SDCard存储大小
//File path = Environment.getDataDirectory();//手机内置空间 1.获取SD卡的路径 File path = Environment.getExternal ...
- PHP+MYSQL会员系统的开发实例教程
本文通过一个简单的实例完成了完整的PHP+MySQL会员系统功能.是非常实用的一个应用.具体实现步骤如下: 一.会员系统的原理: 登陆-->判断-->保持状态(Cookie或Session ...
- java android 访问DELPHI 的DATASNAP
最新版的DELPHI开发DATASNAP非常简单便捷,DataSnap的REST风格和对JSON的支持,使之成为服务器端开发的神器. 一.DATASNAP服务器中的方法: TServerMethods ...
- uC/OS-II之系统函数20160526
任务管理 1 OSTaskCreate() 建立一个新任务.任务的建立可以在多任务环境启动之前,也可以在正在运行的任务中建立.中断处理程序中不能 建立任务.一个任务可以为无限循环的结构. 函数原型:I ...
- psql: 致命错误: 用户 "postgres" Ident 认证失败
RedHat: 问题: psql -U postgres 时出现:psql: 致命错误: 用户 "postgres" Ident 认证失败 解决: 修改 /var/lib/pgs ...
- Datawarehouse
- android NDK开发环境搭建
android NDK开发环境搭建 2012-05-14 00:13:58 分类: 嵌入式 基于 Android NDK 的学习之旅-----环境搭建 工欲善其事必先利其器 , 下面介绍下 Eclip ...