河南省第八届ACM程序设计大赛
A:挑战密室
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <cmath>
#include <stack>
#include <map>
#include <vector>
#include <queue>
using namespace std;
typedef long long LL;
#define N 600
#define met(a, b) memset(a, b, sizeof(a))
#define INF 0x3f3f3f3f char s[N]; int Find(int x, int len)
{
int i; for(i=x; i<=len; i++)
if(s[i]=='=')
return i+;
}
int Find2(int x, int len)
{
int i; for(i=x; i<=len; i++)
if(s[i]=='+')
return i-;
return len;
} int Find1(int x)
{
int i, len = strlen(s)-; for(i=x; i<len; i++)
if(s[i]==')')
return i-; return len;
} int Slove(int start, int e)
{
int k=, sum=, pre, i; for(i=start; i<=e; i++)
{
if(s[i]>='' && s[i]<='')
k = k* + s[i]-'';
else break;
} for( ;i<=e; i++)
{
if(s[i]=='N')
{
if(s[i+]=='a')
{
sum += ;
pre = ;
i++;
}
else
{
sum += ;
pre = ;
}
}
else if(s[i]=='C')
{
if(s[i+]=='l')
{
sum += ;
pre = ;
i++;
}
else if(s[i+]=='a')
{
sum += ;
pre = ;
i++;
}
else
{
sum += ;
pre = ;
}
}
else if(s[i]=='O')
{
sum += ;
pre = ;
}
else if(s[i]=='S')
{
sum += ;
pre = ;
}
else if(s[i]=='H')
{
sum += ;
pre = ;
}
else if(s[i]=='A')
{
sum += ;
pre = ;
i++;
}
else if(s[i]=='Z')
{
sum += ;
pre = ;
i++;
}
else if(s[i]=='(')
{
int Index = Find1(i);
int w = Slove(i+, Index);
sum += w;
pre = w;
i = Index+;
}
else
{
int z=;
while(s[i]>='' && s[i]<='')
{
z = z* + s[i]-'';
i++;
}
i--;
sum += (z-)*pre;
}
} if(k==) return sum;
else return k*sum;
} int main()
{
int T;
scanf("%d", &T);
while(T--)
{
int Index1, Index2, sum, len; scanf("%s", s); len = strlen(s)-; Index1 = Find(, len);
Index2 = Find2(Index1, len);
sum = Slove(Index1, Index2); printf("%04d\n", sum);
}
return ;
}
B:最大岛屿
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <cmath>
#include <stack>
#include <map>
#include <vector>
#include <queue>
using namespace std;
typedef long long LL;
#define N 550
#define met(a, b) memset(a, b, sizeof(a))
#define INF 0x3f3f3f3f int s[N][N];
int n, m, Max, dir[][]={{-,-},{-,},{-,},{,-},{,},{,-},{,},{,}}; int DFS(int x, int y)
{
int i, nx, ny, sum=; s[x][y] = ;
for(i=; i<; i++)
{
nx = x + dir[i][];
ny = y + dir[i][];
if(nx>= && nx<n && ny>= && ny<m && s[nx][ny])
{
sum += DFS(nx, ny) + ;
}
} return sum;
} int main()
{
int T; while(scanf("%d%d%d", &n, &m, &T)!=EOF)
{
int i, j, ans, sum=, Max=; met(s, );
for(i=; i<n; i++)
for(j=; j<m; j++)
scanf("%1d", &s[i][j]); for(i=; i<n; i++)
for(j=; j<m; j++)
{
if(s[i][j]==)
{
ans = DFS(i, j) + ;
///printf("%d\n", ans);
if(ans) sum++;
Max = max(Max, ans);
}
} printf("%d %d\n", sum, Max*T);
}
return ;
}
C:最小换乘
#include<iostream>
#include<stdio.h>
#include<algorithm>
#include<math.h>
#include<string.h>
#include<string>
#include<map>
using namespace std;
#define N 1305
#define INF 0x3f3f3f3f
#define met(a, b) memset(a, b, sizeof(a)) int vis[N], G[N][N], n, dist[N]; int Dij(int s)
{
met(vis, );
dist[s] = ;
///vis[s] = 1;
for(int i=; i<=n; i++)
{
int Min = INF, Index = -;
for(int j=; j<=n; j++)
{
if(!vis[j] && Min>dist[j])
{
Min = dist[j];
Index = j;
}
}
if(Index == -)break;
vis[Index] = ;
for(int j=; j<=n; j++)
{
if(!vis[j] && dist[j] > dist[Index]+G[Index][j])
{
dist[j] = dist[Index] + G[Index][j];
}
}
}
return dist[n];
} int main()
{
int m, T;
scanf("%d", &T);
while(T--)
{
scanf("%d %d", &m, &n); for(int i=; i<=n; i++)
{
dist[i] = INF;
for(int j=; j<=n; j++)
G[i][j] = INF;
G[i][i] = ;
} for(int i=; i<=m; i++)
{
char ch; int k = , a[N]; while(scanf("%d%c", &a[k], &ch),ch==' ')
k++; for(int j=; j<=k; j++)
{
for(int ii=j+; ii<=k; ii++)
G[a[j]][a[ii]] = ;
}
}
int ans = Dij();
if(ans == INF)
puts("NO");
else
printf("%d\n", ans-);
}
return ;
} /** 2
3 7
6 7
4 7 3 6
2 1 3 5
2 6
1 3 5
2 6 4 3 */
D:引水工程
#include<iostream>
#include<stdio.h>
#include<algorithm>
#include<math.h>
#include<string.h>
#include<string>
#include<map>
using namespace std;
#define N 305
#define INF 0x3f3f3f3f
#define met(a, b) memset(a, b, sizeof(a)) int vis[N], G[N][N], n, dist[N]; int Prim(int s)
{
for(int i=; i<=n; i++)
dist[i] = G[s][i];
met(vis, );
vis[s] = ;
int ans = ;
for(int i=; i<=n; i++)
{
int Min = INF, Index = -;
for(int j=; j<=n; j++)
{
if(!vis[j] && dist[j]<Min)
{
Min = dist[j];
Index = j;
}
}
if(Index == -)break;
vis[Index] = ;
ans += Min;
for(int j=; j<=n; j++)
{
if(!vis[j] && dist[j]>G[Index][j])
{
dist[j] = G[Index][j];
}
}
}
return ans;
} int main()
{
int w, T;
scanf("%d", &T);
while(T--)
{
scanf("%d", &n); for(int i=; i<=n; i++)
{
for(int j=; j<=n; j++)
{
G[i][j] = G[j][i] = INF;
}
} for(int i=; i<=n; i++)
{
scanf("%d", &w);
G[][i] = G[i][] = w;
}
for(int i=; i<=n; i++)
{
for(int j=; j<=n; j++)
{
scanf("%d", &w);
G[i][j] = w;
}
}
int ans = Prim();
printf("%d\n", ans);
}
return ;
}
#include<iostream>
#include<stdio.h>
#include<algorithm>
#include<math.h>
#include<string.h>
#include<string>
#include<map>
using namespace std;
#define N 10100
#define met(a, b) memset(a, b, sizeof(a)) int main()
{
int n, m, x[N], y[N], a, b;
while(scanf("%d %d", &n, &m)!=EOF)
{
for(int i=; i<n; i++)
{
scanf("%d %d", &x[i], &y[i]);
}
for(int i=; i<=m; i++)
{
scanf("%d %d", &a, &b);
int cnt1 = , cnt2 = ;
for(int j=; j<n; j++)
{
if((x[j]>a && y[j]>b) || (x[j]<a && y[j]<b))
cnt1++;
else if((x[j]<a && y[j]>b) || (x[j]>a && y[j]<b))
cnt2++;
}
printf("%d\n", cnt1-cnt2);
}
}
return ;
}
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <cmath>
#include <stack>
#include <map>
#include <vector>
#include <queue>
using namespace std;
typedef long long LL;
#define N 1100
#define met(a, b) memset(a, b, sizeof(a))
#define INF 0x3f3f3f3f int a[N]; int main()
{
int T;
scanf("%d", &T);
while(T--)
{
int n, k, i, j;
double Max=, ans; scanf("%d%d", &n, &k); met(a, );
for(i=; i<n; i++)
scanf("%d", &a[i]); for(i=; i<n; i++)
{
int sum = ;
for(j=i; j<n; j++)
{
sum += a[j];
if((j-i+)>=k)
{
ans = (sum*1.0)/(j-i+);
Max = max(Max, ans);
}
}
} printf("%d\n", (int)(Max*));
}
return ;
}
河南省第八届ACM程序设计大赛的更多相关文章
- nyoj 1238 最少换乘 (河南省第八届acm程序设计大赛)
题目1238 题目信息 执行结果 本题排行 pid=1238" style="text-decoration:none; color:rgb(55,119,188)"&g ...
- nyoj 1239 引水project (河南省第八届acm程序设计大赛)
题目1239 pid=1239" style="color:rgb(55,119,188)">题目信息 pid=1239" style="col ...
- nyoj1237 最大岛屿(河南省第八届acm程序设计大赛)
题目1237 pid=1237" style="color:rgb(55,119,188)">题目信息 执行结果 本题排行 讨论区 最大岛屿 时间限制:1000 m ...
- 河南省第八届ACM程序设计大赛总结
简单的对这次省赛做个总结:总体来说这个比赛过程中做的还算比较顺利,虽然中间多多少少遇到一些坑,正式比赛开始后,我们就开始找水题,当然了我首先把英文题目翻译了一遍,发现了一道水题,这道题目其实就是判断点 ...
- 河南省第四届ACM程序设计大赛
A: 序号互换 #include <cstdio> #include <cstdlib> #include <cstring> #include <algor ...
- 河南省第五届ACM程序设计大赛
D: 遥 控 器 #include<cstdio> #include<cstring> #include<iostream> #include<algor ...
- “玲珑杯”郑州轻工业学院第八届ACM程序设计大赛暨河南高校邀请赛-正式赛(总结)
这次轻院校赛,我们去了五个队,怀着打酱油的心态早早爬起来坐上校车出发了,由于昨晚室友打游戏,以及看视频大笑...没睡好,快1点才睡着,感觉特别困,车上没地方,睡不着,就在车上闭目养神,由于在新校区,不 ...
- 西南科技大学第十一届ACM程序设计大赛发言稿
西南科技大学第十一届ACM程序设计大赛发言稿 各位老师.志愿者及参赛选手: 大家好,我是来自计科学院卓软1301的哈特13,很荣幸今天能站在这里代表参赛选手发言. 回想起来,我参加ACM比赛已经快两年 ...
- 第13届 广东工业大学ACM程序设计大赛 C题 平分游戏
第13届 广东工业大学ACM程序设计大赛 C题 平分游戏 题目描述 转眼间又过了一年,又有一届的师兄师姐要毕业了. 有些师兄师姐就去了景驰科技实习. 在景驰,员工是他们最宝贵的财富.只有把每一个人 ...
随机推荐
- httperf学习笔记(CentOS-6.6环境下安装配置)
新工作已经找到了,最近在忙着熟悉环境,昨天领导让我接触下httperf压力测试工具 百度了下,相关的文档,准备着手配置一个测试环境基于linux系统httperf+autobench+gnuplot, ...
- Linux操作系统学习笔记
关于Linux详细介绍可以参见:http://blog.csdn.net/hguisu/article/details/6122513 关于Linux的常用命令可以参见:http://blog.csd ...
- C++中调用Python脚本
C++中调用Python脚本的意义就不讲了,至少你可以把它当成文本形式的动态链接库, 需要的时候还可以改一改,只要不改变接口, C++的程序一旦编译好了,再改就没那么方便了 先看Python的代码 代 ...
- 【EF学习笔记06】----------加载关联表的数据 延迟加载
讲解之前,先来看一下我们的数据库结构:班级表 学生表 延迟加载 //延迟加载 using (var db = new Entities()) { //查询班级 var classes = (from ...
- python代码中指定时区获取时间方法
os.environ['TZ'] = 'Asia/Shanghai' os.environ['TZ'] = 'Europe/London' hour_cur = time.strftime('%H')
- mysql的从头到脚优化之服务器参数的调优
一. 说到mysql的调优,有许多的点可以让我们去做,因此梳理下,一些调优的策略,今天只是总结下服务器参数的调优 其实说到,参数的调优,我的理解就是无非两点: 如果是Innodb的数据库,innod ...
- C#中combobox 控件属性、事件、方法
一 .combobox 属性.事件.方法公共属性 名称 说明 AccessibilityObject 获取分配给该控件的 AccessibleObject. AccessibleDefaultActi ...
- python some install tips
/* wooyun的小伙伴出了神器. 但是都是打包配置的.我本机又搭建了wamp,不能混合了,那就自己动手丰衣足食咯. */ python 2.7 已经安装. pip https://pip.pypa ...
- CSS3 display:flex和display:box有什么区别
父级元素有display:box;属性之后.他的子元素里面加上box-flex属性.可以让子元素按照父元素的宽度进行一定比例的分占空间. 如: html: <article> < ...
- ide编辑器
http://wowubuntu.com/markdown/#editor https://netbeans.org/downloads/start.html?platform=windows& ...