河南省第八届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题 平分游戏 题目描述 转眼间又过了一年,又有一届的师兄师姐要毕业了. 有些师兄师姐就去了景驰科技实习. 在景驰,员工是他们最宝贵的财富.只有把每一个人 ...
随机推荐
- 使用DotNetOpenAuth搭建OAuth2.0授权框架——Demo代码简单说明
前段时间随意抽离了一部分代码作为OAuth2的示例代码,若干处会造成困扰,现说明如下: public class OAuthController : Controller { private stat ...
- mac 下 chrome 语言环境 设置
当然,如果把系统语言更改为英文,Chrome.QQ 等一系列软件会自动变成英文界面,而且没有提供切换语言的设置. 啪了下 Google,找到了方法,直接在终端运行后重启 Chrome 即可更改. 英文 ...
- Hibernate day01笔记
框架体系结构 hibernate入门 ORM框架 Hibernate是一个数据持久化层的ORM框架. Object:对象,java对象,此处特指JavaBean Relational:关系,二维表 ...
- MFC的自定义消息的定义与使用
自定义消息的响应和资源消息的响应有很多类似之处:资源消息的响应是以资源的ID号作为标识的:自定义的消息要自己声明消息ID. 一. 定义: 第一步要声明消息: #define WM_ ...
- Java基础以及与C++的一些对比
这两天回忆一些Java基础,感觉自己很多地方都不是很牢固,也花费在不少时间和不少流量在手机上查资料. 还是写下来这些东西以免再忘记. 同时还是要记住多动手,编程最重要的就是动手敲啊,有想法有疑问就要自 ...
- nginx的gzip选项和expire过期时间记录
最近,参加了公司的组织的一个公开课,收获还是挺多的,下面来总结接一下: 一. 使用nginx来进行网页内容的压缩编码与传输速度的优化: 先来观察一下news.sina.com.cn在请求和传输的时候发 ...
- Windows Server 2003/2008 单网卡搭建VPN
Windows Server 2003/2008 单网卡搭建VPN 1.打开[控制面板] --> [管理工具] --> [路由和远程访问] 2.鼠标右击你要管理的电脑 在弹出式菜单中选中[ ...
- HDOJ(1728)逃离迷宫
HDOJ 1728 http://acm.hdu.edu.cn/showproblem.php?pid=1728 BFS求最少转过的弯 #include <stdio.h> #includ ...
- 《深入浅出 Java Concurrency》
http://www.blogjava.net/xylz/archive/2010/07/08/325587.html
- jquery remove/add css
<input type="submit" class="btn btn-primary" id="submit" value=&quo ...