ZOJ 7th Anniversary Contest
2016-04-28 23:42
169 查看
6/6
水了一场比赛,得空写个简单题解,分别是ZOJ3167-3172
传送门
题A ZOJ 3167
题意:貌似是给你m ^ n 的第k位为7的最小的n是什么?
题解:大数模拟吧,我懒得写~~
题B ZOJ3168
题意:先对Z排序,再对O,对J,对7,其他不变放在后面。
题解:水题,直接模拟。
代码君
水了一场比赛,得空写个简单题解,分别是ZOJ3167-3172
传送门
题A ZOJ 3167
题意:貌似是给你m ^ n 的第k位为7的最小的n是什么?
题解:大数模拟吧,我懒得写~~
题B ZOJ3168
题意:先对Z排序,再对O,对J,对7,其他不变放在后面。
题解:水题,直接模拟。
/*zhen hao*/ #include <bits/stdc++.h> using namespace std; #define lson l, m, rt << 1 #define rson m + 1, r, rt << 1 1 #define ll long long const int maxn = 1e3 + 10, maxm = 1e6 + 10; int n, m, tot; int head[maxn], dep[maxn]; struct Edge { int v, next; } edges[maxm]; void init() { tot = 0; memset(head, -1, sizeof head); } void add_edge(int u, int v) { edges[tot] = (Edge){v, head[u]}; head[u] = tot++; } void dfs(int u, int fa, int d) { dep[u] = max(dep[u], d); for (int i = head[u]; i != -1; i = edges[i].next) { int v = edges[i].v; if (v == fa) continue; dfs(v, u, d + 1); } } int main() { // freopen("case.in", "r", stdin); while (scanf("%d%d", &n, &m) == 2) { init(); for (int i = 0; i < m; i++) { int u, v; scanf("%d%d", &u, &v); add_edge(u, v); add_edge(v, u); } memset(dep, 0, sizeof dep); dfs(1, -1, 1); int best = 0, bestid = 0; for (int i = 0; i < n; i++) if (best < dep[i]) best = dep[bestid = i]; memset(dep, 0, sizeof dep); dfs(bestid, -1, 1); int temp = *max_element(dep, dep + n); if (temp <= 7) puts("Impossible"); else printf("%d\n", temp); } return 0; }
代码君
相关文章推荐
- 328.LeetCode_Linked List_Odd Even Linked List
- SpannableString属性详解
- Json工具类 ---JsonUtil
- Servlet的使用方法详细说明
- 通过PHP操作Redis的简单使用--Redis学习笔记七
- robotframework 常用快捷键
- kafka远程客户端 运行producer线程 时报 Unable to connect to zookeeper server within timeout: 400
- SonarQube代码质量管理平台安装与使用
- springMVC(7)------springMVC处理模型数据
- Spring开篇(一)
- 利用Python的PIL库进行简单的图像处理
- 菱形图案的输出
- IO总结
- Cobertura代码覆盖率测试
- cell重用机制
- Java数据结构初试之自定义自己的链表结构类
- Java九九乘法表的制作
- SonarQube简介
- 找出N个数据中的最大的K个数据---堆排序
- SpringMVC之@RequestMapping