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表示 ...
随机推荐
- 不加班的实践(1)——这真的该用try-catch吗?
前言 我有个技能,就是把“我”说的听起来特别像“老子”. 以前是小喽啰的时候,会跟领导说“我!不加班.”,听起来就像“老子不加班!”一样.到最后发现,我确实没有把计划内的工作拖到需要加班才能完成,这个 ...
- yii在TbGridView的td里面加入相应的下拉选项(转)
当你需要在一个GridView渲染某一个复杂元素的时候(特别是在这种情况下,这是一个小部件),这就需要你在控制器中调用一个动作.例如你给一个GridView的定义这样的一列: <?php $th ...
- Laravel 5 基础(十一)- 子视图和表单复用
我们需要处理编辑文章的问题.当然我们可以手工添加新的路由,就像这样: Route::get('/articles/{id}/edit', 'ArticleController@edit'); 让我们在 ...
- mssql 下删除 default 值的Sql写法
FROM Sys.default_constraints a JOIN sys.columns b ON a.parent_object_id = b.object_id AND a.parent_c ...
- SQL Server 基础:子查询
1.子查询的概念:子查询就是嵌套在主查询中的查询.子查询可以嵌套在主查询中所有位置,包括SELECT.FROM.WHERE.GROUP BY.HAVING.ORDER BY.2.子查询的分类:2.1按 ...
- List GetEnumerator
static void Main() { List<int> list = new List<int>(); list.Add(); list.Add(); list.Add( ...
- ios 总结
1 ocoa Touch Layer{ App Extensions https://developer.apple.com/library/ios/documentation/General/Con ...
- 装黑苹果的那些事儿(以ThinkpadE540为例)
苹果系统,有着比window更好的安全性和方便性,更重要的事,没有MAC系统环境,进行iOS开发,是很麻烦的,对新手来说,是很懊恼的一件事.但是白苹果像件奢侈品,吾等常人,很难有经济消费.如是黑苹果是 ...
- Visual Studio 2013中添加mimeType
事例: cd C:\Program files\IIS Expressappcmd set config /section:staticContent /+[fileExtension='.json' ...
- Linux下如何将数据库脚本文件从sh格式变为sql格式
在从事软件开发的过程中,经常会涉及到在Linux下将数据库脚本文件从sh格式变为sql格式的问题.本文以一个实际的脚本文件为例,说明格式转换的过程. 1. sh文件内容 本文中的文件名为 ...