兼职做网站的费用,中国网站制作企业排行榜,多用户商城数据库设计,北京app推荐2024年4月17日华为春招实习试题【三题】-题目题解在线评测 #x1f52e;题目一描述#xff1a;扑克牌消消乐输入描述输出描述样例一样例二Limitation解题思路一#xff1a;模拟#xff0c;遇到连续3张相同牌号的卡牌#xff0c;直接删除解题思路二#xff1a;栈解题思路三… 2024年4月17日华为春招实习试题【三题】-题目题解在线评测 题目一描述扑克牌消消乐输入描述输出描述样例一样例二Limitation解题思路一模拟遇到连续3张相同牌号的卡牌直接删除解题思路二栈解题思路三c java ⚗️题目二描述公司部门风险评估输入描述输出描述样例一样例二数据范围Limitation解题思路一dfs解题思路二bfs解题思路三java, c 题目三描述城市应急疏散输入格式输出描述样例数据范围解题思路一Dijkstra解题思路二0解题思路三java, c 题目一描述扑克牌消消乐
塔子哥最新沉迷某三消游戏现在的他已经是这方面的大神。你太想进步了找到了塔子哥并求他传授秘籍。他决定用一个游戏测试一下你的功底。
塔子哥从一副扑克牌中随机抽取n张牌组成一个序列规定连续3张相同牌号的卡牌可以消除剩余卡牌按照当前顺序重新合并成新的序列后继续消除例如序列 01112 在消除 111 之后余下 02重复以上步骤直到无法消除请你完成这个游戏输出结束后剩余的卡牌序列。
注存在连续4张相同牌号的情况消除后剩余一张。
输入描述
第一行输入一个整数n表示抽出扑克牌的数量。其中 1 ≤ n ≤ 52 1 \le n \le 52 1≤n≤52。
第二行一个字符串以空格分隔代表卡牌号序列卡牌号仅包含2-10AJQK
输出描述
输出一个字符串表示最终的卡牌序列卡牌号以空格分隔。
当所有扑克牌都被消除输出0
样例一
输入
10
6 2 3 3 3 2 2 2 7 7 7输出
6 2样例二
输入
6
5 A A A 5 5输出
0Limitation
1s, 1024KiB for each test case.
OJ链接 https://codefun2000.com/p/P1827
解题思路一模拟遇到连续3张相同牌号的卡牌直接删除
n int(input())
strs list(map(str, input().split()))i 0
while i len(strs):if i 2 len(strs):if strs[i] strs[i 1] and strs[i 1] strs[i 2]:strs strs[:i] strs[i3:]if i 0:i - 1continuei 1else:break
if len(strs) 0:print(0)
else:for s in strs:print(s, end )时间复杂度O(n) 一次遍历 空间复杂度O(1) 输出答案不算
解题思路二栈
n int(input())
stack []
a input().split()
for i in a:if len(stack) 2:stack.append(i)else:if stack[-1] i and stack[-2] i:stack.pop(-1)stack.pop(-1)else:stack.append(i)print( .join(stack))时间复杂度O(n) 空间复杂度O(1)
解题思路三c java
#includebits/stdc.h
using namespace std;
int main(){
int n;
cinn;
vectorchara;
for(int i0;in;i){char c;cinc;a.push_back(c);
}
while(a.size()3){int flag-1;for(int i0;ia.size()-2;i){if(a[i]a[i1]a[i]a[i2]){flagi;break;}}if(flag-1)break;a.erase(a.begin()flag,a.begin()flag3);
}
for(int i0;ia.size();i){couta[i];if(i!a.size()-1)cout ;
}return 0;
}# java
import java.util.Scanner;
import java.util.Stack;public class Main {public static void main(String[] args) {Scanner s new Scanner(System.in);String a s.nextLine();int n Integer.parseInt(a);String b s.nextLine();String[] xulie b.split( );StackString stack new Stack();StackInteger count new Stack();for (int i 0; i xulie.length; i) {if (stack.isEmpty()) {stack.push(xulie[i]);count.push(1);continue;}if (stack.peek().equals(xulie[i])) {stack.push(xulie[i]);count.push(count.peek() 1);if (count.peek() 3){stack.pop();stack.pop();stack.pop();count.pop();count.pop();count.pop();}continue;}if (!stack.peek().equals(xulie[i])) {stack.push(xulie[i]);count.push(1);}}if (stack.isEmpty()) {System.out.print(0);return;}String[] result new String[stack.size()];int i 0;while (!stack.isEmpty()) {result[i] stack.pop();i;}for (int i1 result.length - 1; i1 0; i1--) {System.out.print(result[i1]);if (i1 ! 0){System.out.print( );}}}
}时间复杂度O(n) 空间复杂度O(1)
⚗️题目二描述公司部门风险评估
LYA 是一家大型科技公司的风险评估师。公司的部门结构可以看作一棵树每个部门在评估前都有一些尚未解决的问题。部门的风险值可以用来评估该部门是否存在风险风险值的计算公式为风险值 5 × 严重问题数 2 × 一般问题数。
其中每个部门的不同级别问题数量需要将该部门及其下属部门的相应级别问题数量求和。当部门的风险值小于等于给定的阈值时该部门被认为是安全的否则该部门被视为风险部门需要进一步整改。
现在给出公司的部门结构以及各部门的问题数量请你帮助 LYA 计算出风险部门的数量。
输入描述
第一行包含两个正整数 M 和 N 1 ≤ M ≤ 100000 1 \leq M \leq 100000 1≤M≤100000 1 ≤ N ≤ 1000 1 \leq N \leq 1000 1≤N≤1000分别表示风险阈值和部门的数量。
接下来 N 行每行包含四个字段用空格分隔
第一个字段为部门名称 A i A_i Ai第二个字段为 A i A_i Ai 的上级部门名称 B i B_i Bi如果 A i A_i Ai为公司的最高层部门则 B i B_i Bi用 *表示第三个字段为问题级别 C i C_i Ci C i ∈ { 0 , 1 } C_i \in \{0, 1\} Ci∈{0,1}其中 0表示严重问题1表示一般问题第四个字段为该部门该级别的问题数量 D i D_i Di 1 ≤ D i ≤ 1000 1 \leq D_i \leq 1000 1≤Di≤1000。
其中 A i A_i Ai和 B i B_i Bi为由小写英文字母组成的字符串长度不超过 5。
输入保证部门结构为一棵树不会出现环的情况。
输出描述
输出一个整数表示风险部门的数量。
样例一
输入
40 12
a * 0 2
a * 1 2
b a 0 3
b a 1 5
c a 1 3
d a 0 1
d a 1 3
e b 0 2
f * 0 8
f * 1 10
g f 1 2
h * 0 4输出
2解释
a * 0 2表示节点a有2个严重问题*表示无父节点即a为云服务。b a 1 5表示节点b有5个一般问题b的父节点是a。可以看出该样例有3个云服务a、f、h。云服务a的子节点有b、c、d、e严重问题个数为230128230128一般问题个数为25330132533013DI值8∗513∗266阈值40故云服务a是风险云服务云服务f严重问题个数为808808一般问题个数为1021210212DI值8∗512∗264阈值40故云服务f也是风险云服务云服务h严重问题个数为44一般问题个数为00DI值4∗50∗220阈值40故云服务h不是风险云服务因此该样例有2个风险云服务。
样例二
输入
50 10
b a 1 5
a * 0 2
b a 0 3
c a 1 3
d a 0 1
a * 1 2
d a 1 3
e b 0 2
f b 1 1
g c 1 2输出
1数据范围 1 ≤ M ≤ 100000 1 \leq M \leq 100000 1≤M≤100000 1 ≤ N ≤ 1000 1 \leq N \leq 1000 1≤N≤1000 1 ≤ D i ≤ 1000 1 \leq D_i \leq 1000 1≤Di≤1000 A i A_i Ai和 B i B_i Bi为由小写英文字母组成的字符串长度不超过 5。
Limitation
1s, 1024KiB for each test case.
OJ链接 https://codefun2000.com/p/P1828
解题思路一dfs
本题可以使用树形 DP 的思想来解决。可以从叶子节点开始自底向上计算每个部门的严重问题数和一般问题数然后根据风险值的计算公式判断该部门是否为风险部门。
具体步骤如下
建立部门之间的父子关系使用邻接表或者邻接矩阵来存储。对于每个部门初始化其严重问题数和一般问题数。从叶子节点开始通过 DFS 或 BFS 遍历整棵树对于每个部门 将其子部门的严重问题数和一般问题数累加到当前部门上。计算当前部门的风险值并判断是否超过阈值如果超过则将风险部门数量加 1。 输出风险部门的数量。
from collections import defaultdict
M, N map(int, input().split())
graph defaultdict(list) # 邻接表记录子节点
risks0 defaultdict(int) # 严重问题
risks1 defaultdict(int) # 一般问题roots set()
for _ in range(N):node, parent, level, num input().split()num int(num)if parent *:roots.add(node)else:graph[parent].append(node)if level 0:risks0[node] numelse:risks1[node] numdef dfs(node):risk0, risk1 risks0[node], risks1[node]for ch in graph[node]:ch_risk0, ch_risk1 dfs(ch)risk0 ch_risk0risk1 ch_risk1return risk0, risk1cnt 0
for root in roots:risk0, risk1 dfs(root)if 5 * risk0 2 * risk1 M:cnt 1
print(cnt)
时间复杂度O(n) 其中 n 为部门的数量。 空间复杂度O(n)
解题思路二bfs
from collections import defaultdict, deque
M, N map(int, input().split())
graph defaultdict(list) # 邻接表记录子节点
risks0 defaultdict(int) # 严重问题
risks1 defaultdict(int) # 一般问题roots set()
for _ in range(N):node, parent, level, num input().split()num int(num)if parent *:roots.add(node)else:graph[parent].append(node)if level 0:risks0[node] numelse:risks1[node] numdef bfs(node):risk0, risk1 risks0[node], risks1[node]queue deque([node])while queue:node queue.pop()for ch in graph[node]:queue.append(ch)ch_risk0, ch_risk1 risks0[ch], risks1[ch]risk0 ch_risk0risk1 ch_risk1return risk0, risk1cnt 0
for root in roots:risk0, risk1 bfs(root)if 5 * risk0 2 * risk1 M:cnt 1
print(cnt)时间复杂度O(n) 空间复杂度O(n)
解题思路三java, c
import java.util.*;public class Main {static MapString, ListString graph new HashMap();static MapString, Integer risks1 new HashMap();static MapString, Integer risks2 new HashMap();public static void main(String[] args) {Scanner sc new Scanner(System.in);int m sc.nextInt();int n sc.nextInt();sc.nextLine();SetString roots new HashSet();for (int i 0; i n; i) {String[] input sc.nextLine().split( );String dept input[0];String parent input[1];int level Integer.parseInt(input[2]);int num Integer.parseInt(input[3]);if (parent.equals(*)) {roots.add(dept);} else {graph.computeIfAbsent(parent, k - new ArrayList()).add(dept);}if (level 0) {risks1.put(dept, num);} else {risks2.put(dept, num);}}int cnt 0;for (String root : roots) {int[] risks dfs(root);if (5 * risks[0] 2 * risks[1] m) {cnt;}}System.out.println(cnt);}private static int[] dfs(String dept) {int risk1 risks1.getOrDefault(dept, 0);int risk2 risks2.getOrDefault(dept, 0);for (String sub : graph.getOrDefault(dept, new ArrayList())) {int[] subRisks dfs(sub);risk1 subRisks[0];risk2 subRisks[1];}return new int[]{risk1, risk2};}
}#include iostream
#include unordered_map
#include unordered_set
#include vector
#include stringusing namespace std;unordered_mapstring, vectorstring graph;
unordered_mapstring, int risks1;
unordered_mapstring, int risks2;pairint, int dfs(const string dept) {int risk1 risks1[dept];int risk2 risks2[dept];for (const string sub : graph[dept]) {auto subRisks dfs(sub);risk1 subRisks.first;risk2 subRisks.second;}return {risk1, risk2};
}int main() {int m, n;cin m n;unordered_setstring roots;for (int i 0; i n; i) {string dept, parent;int level, num;cin dept parent level num;if (parent *) {roots.insert(dept);} else {graph[parent].push_back(dept);}if (level 0) {risks1[dept] num;} else {risks2[dept] num;}}int cnt 0;for (const string root : roots) {auto risks dfs(root);if (5 * risks.first 2 * risks.second m) {cnt;}}cout cnt endl;return 0;
}
时间复杂度O(n) 空间复杂度O(n)
题目三描述城市应急疏散
LYA 是一名城市应急管理专家她负责制定城市在发生重大事故时的疏散计划。城市由 n 个区域组成每个区域之间都有道路相连。当某个区域发生事故需要疏散时LYA 需要选择一个或多个安全区域作为疏散目的地并确保疏散路径的总长度最短。
给定一个 n × n n \times n n×n 的矩阵 dist其中 d i s t [ i ] [ j ] dist[i][j] dist[i][j] 表示区域 i 到区域 j 的道路长度如果 d i s t [ i ] [ j ] − 1 dist[i][j] -1 dist[i][j]−1则表示区域 i 和区域 j 之间没有直接相连的道路。另外每个区域还有一个剩余容量 c a p [ i ] cap[i] cap[i]表示该区域最多可以容纳的人数。
当某个区域 x 发生事故需要疏散人数为 p 时请你帮助 LYA 选择疏散区域使得疏散路径的总长度最短并且疏散区域的剩余容量之和不小于 p。如果有多个疏散区域到事故区域的最短路径长度相同则优先选择编号较小的区域。
输入格式
第一行包含一个正整数 n表示区域的数量。
接下来 n行每行包含 n个整数表示矩阵 dist。
接下来一行包含 n 个整数表示每个区域的剩余容量 cap[i]。
最后两行包含两个整数 x 和 p分别表示发生事故的区域编号和需要疏散的人数。
输出描述
输出一行包含若干个整数表示选择的疏散区域编号。如果有多个疏散区域到事故区域的最短路径长度相同则按照编号从小到大的顺序输出。
样例
输入
4
-1 5 -1 8
5 -1 1 3
-1 1 -1 4
8 3 4 -1
10 20 15 25
2
12输出
1其实就是一个无向图
数据范围 2 ≤ n ≤ 1 0 4 2 \leq n \leq 10^4 2≤n≤104 − 1 ≤ d i s t [ i ] [ j ] ≤ 1000 -1 \leq dist[i][j] \leq 1000 −1≤dist[i][j]≤1000 1 ≤ c a p [ i ] ≤ 100 1 \leq cap[i] \leq 100 1≤cap[i]≤100 0 ≤ x n 0 \leq x n 0≤xn 0 p ≤ 1000 0 p \leq 1000 0p≤1000
OJ链接 https://codefun2000.com/p/P1829
解题思路一Dijkstra
本题可以使用 Dijkstra 算法求出事故区域到其他所有区域的最短路径长度然后将区域按照最短路径长度从小到大排序依次选择区域作为疏散目的地直到选择的区域剩余容量之和不小于需要疏散的人数为止。
具体步骤如下
使用 Dijkstra 算法求出事故区域到其他所有区域的最短路径长度记为 d[i]。将区域按照 (d[i], i, cap[i]) 的顺序从小到大排序其中 d[i] 为最短路径长度cap[i] 为剩余容量i 为区域编号。依次选择排序后的区域作为疏散目的地直到选择的区域剩余容量之和不小于需要疏散的人数为止。输出选择的疏散区域编号。
import heapqn int(input())
dist [list(map(int, input().split())) for _ in range(n)]
cap list(map(int, input().split()))
x int(input())
p int(input())for i in range(n):for j in range(n):if dist[i][j] -1:dist[i][j] float(inf)d [float(inf)] * n
d[x] 0
q [(0, x)]while q:_, u heapq.heappop(q)for v in range(n):if d[u] dist[u][v] d[v]:d[v] d[u] dist[u][v]heapq.heappush(q, (d[v], v))regions sorted([(d[i], i, cap[i]) for i in range(n) if i ! x])ans []
total_cap 0
for _, i, c in regions:if total_cap p:breakans.append(i)total_cap c
print(*ans)时间复杂度O(n2)其中 n 为区域的数量。 空间复杂度O(n2)
解题思路二0 时间复杂度O(n2)其中 n 为区域的数量。 空间复杂度O(n2)
解题思路三java, c
import java.util.*;public class Main {public static void main(String[] args) {Scanner sc new Scanner(System.in);int n sc.nextInt();int[][] dist new int[n][n];for (int i 0; i n; i) {for (int j 0; j n; j) {dist[i][j] sc.nextInt();if (dist[i][j] -1) {dist[i][j] Integer.MAX_VALUE;}}}int[] cap new int[n];for (int i 0; i n; i) {cap[i] sc.nextInt();}int x sc.nextInt();int p sc.nextInt();int[] d new int[n];Arrays.fill(d, Integer.MAX_VALUE);d[x] 0;PriorityQueueint[] q new PriorityQueue((a, b) - a[0] - b[0]);q.offer(new int[]{0, x});while (!q.isEmpty()) {int[] curr q.poll();int u curr[1];for (int v 0; v n; v) {if (d[u] dist[u][v] d[v]) {d[v] d[u] dist[u][v];q.offer(new int[]{d[v], v});}}}Listint[] regions new ArrayList();for (int i 0; i n; i) {if (i ! x) {regions.add(new int[]{d[i], i, cap[i]});}}regions.sort((a, b) - {if (a[0] ! b[0]) {return a[0] - b[0];}if (a[1] ! b[1]) {return b[1] - a[1];}return a[2] - b[2];});ListInteger ans new ArrayList();int totalCap 0;for (int[] region : regions) {if (totalCap p) {break;}ans.add(region[1]);totalCap region[2];}for (int i 0; i ans.size(); i) {System.out.print(ans.get(i));if (i ans.size() - 1) {System.out.print( );}}}
}#include iostream
#include vector
#include queue
#include algorithm
using namespace std;const int INF 0x3f3f3f3f;int main() {int n;cin n;vectorvectorint dist(n, vectorint(n));for (int i 0; i n; i) {for (int j 0; j n; j) {cin dist[i][j];if (dist[i][j] -1) {dist[i][j] INF;}}}vectorint cap(n);for (int i 0; i n; i) {cin cap[i];}int x, p;cin x p;vectorint d(n, INF);d[x] 0;priority_queuepairint, int, vectorpairint, int, greaterpairint, int q;q.emplace(0, x);while (!q.empty()) {auto [du, u] q.top();q.pop();if (du d[u]) {continue;}for (int v 0; v n; v) {if (d[u] dist[u][v] d[v]) {d[v] d[u] dist[u][v];q.emplace(d[v], v);}}}vectortupleint, int, int regions;for (int i 0; i n; i) {if (i ! x) {regions.emplace_back(d[i], i, cap[i]);}}sort(regions.begin(), regions.end());vectorint ans;int total_cap 0;for (auto [di, i, ci] : regions) {if (total_cap p) {break;}ans.push_back(i);total_cap ci;}for (int i 0; i ans.size(); i) {cout ans[i];if (i ans.size() - 1) {cout ;}}cout endl;return 0;
}
时间复杂度O(n2)其中 n 为区域的数量。 空间复杂度O(n2) 创作不易观众老爷们请留步… 动起可爱的小手点个赞再走呗 (๑◕ܫ๑) 欢迎大家关注笔者你的关注是我持续更博的最大动力 原创文章转载告知盗版必究 ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ 文章转载自: http://www.morning.rwjfs.cn.gov.cn.rwjfs.cn http://www.morning.rydhq.cn.gov.cn.rydhq.cn http://www.morning.prgnp.cn.gov.cn.prgnp.cn http://www.morning.tsyny.cn.gov.cn.tsyny.cn http://www.morning.rqrh.cn.gov.cn.rqrh.cn http://www.morning.qlpq.cn.gov.cn.qlpq.cn http://www.morning.ndfwh.cn.gov.cn.ndfwh.cn http://www.morning.rlqwz.cn.gov.cn.rlqwz.cn http://www.morning.mxlwl.cn.gov.cn.mxlwl.cn http://www.morning.ybhrb.cn.gov.cn.ybhrb.cn http://www.morning.xhqr.cn.gov.cn.xhqr.cn http://www.morning.rqkzh.cn.gov.cn.rqkzh.cn http://www.morning.hlmkx.cn.gov.cn.hlmkx.cn http://www.morning.hrkth.cn.gov.cn.hrkth.cn http://www.morning.krkwp.cn.gov.cn.krkwp.cn http://www.morning.i-bins.com.gov.cn.i-bins.com http://www.morning.qfplp.cn.gov.cn.qfplp.cn http://www.morning.hmdyl.cn.gov.cn.hmdyl.cn http://www.morning.rhqr.cn.gov.cn.rhqr.cn http://www.morning.jhyfb.cn.gov.cn.jhyfb.cn http://www.morning.nkqrq.cn.gov.cn.nkqrq.cn http://www.morning.pngfx.cn.gov.cn.pngfx.cn http://www.morning.hrzky.cn.gov.cn.hrzky.cn http://www.morning.dwfzm.cn.gov.cn.dwfzm.cn http://www.morning.wbxr.cn.gov.cn.wbxr.cn http://www.morning.llmhq.cn.gov.cn.llmhq.cn http://www.morning.xjkr.cn.gov.cn.xjkr.cn http://www.morning.ytrbq.cn.gov.cn.ytrbq.cn http://www.morning.fbjqq.cn.gov.cn.fbjqq.cn http://www.morning.ydrml.cn.gov.cn.ydrml.cn http://www.morning.ggxbyhk.cn.gov.cn.ggxbyhk.cn http://www.morning.pbknh.cn.gov.cn.pbknh.cn http://www.morning.pwbps.cn.gov.cn.pwbps.cn http://www.morning.ncrk.cn.gov.cn.ncrk.cn http://www.morning.dtfgr.cn.gov.cn.dtfgr.cn http://www.morning.zpnfc.cn.gov.cn.zpnfc.cn http://www.morning.ctlzf.cn.gov.cn.ctlzf.cn http://www.morning.grxyx.cn.gov.cn.grxyx.cn http://www.morning.rongxiaoman.com.gov.cn.rongxiaoman.com http://www.morning.szzxqc.com.gov.cn.szzxqc.com http://www.morning.coatingonline.com.cn.gov.cn.coatingonline.com.cn http://www.morning.zqfjn.cn.gov.cn.zqfjn.cn http://www.morning.pxsn.cn.gov.cn.pxsn.cn http://www.morning.ptmgq.cn.gov.cn.ptmgq.cn http://www.morning.rzczl.cn.gov.cn.rzczl.cn http://www.morning.xgbq.cn.gov.cn.xgbq.cn http://www.morning.bpmdz.cn.gov.cn.bpmdz.cn http://www.morning.nzzws.cn.gov.cn.nzzws.cn http://www.morning.qxkjy.cn.gov.cn.qxkjy.cn http://www.morning.drnjn.cn.gov.cn.drnjn.cn http://www.morning.wyjhq.cn.gov.cn.wyjhq.cn http://www.morning.nxstj.cn.gov.cn.nxstj.cn http://www.morning.rtsdz.cn.gov.cn.rtsdz.cn http://www.morning.snxbf.cn.gov.cn.snxbf.cn http://www.morning.3jiax.cn.gov.cn.3jiax.cn http://www.morning.tyrlk.cn.gov.cn.tyrlk.cn http://www.morning.ybhrb.cn.gov.cn.ybhrb.cn http://www.morning.xgcwm.cn.gov.cn.xgcwm.cn http://www.morning.pxtgf.cn.gov.cn.pxtgf.cn http://www.morning.bflws.cn.gov.cn.bflws.cn http://www.morning.xhpnp.cn.gov.cn.xhpnp.cn http://www.morning.qydgk.cn.gov.cn.qydgk.cn http://www.morning.clxpp.cn.gov.cn.clxpp.cn http://www.morning.tddrh.cn.gov.cn.tddrh.cn http://www.morning.nkmw.cn.gov.cn.nkmw.cn http://www.morning.yrpg.cn.gov.cn.yrpg.cn http://www.morning.rdzlh.cn.gov.cn.rdzlh.cn http://www.morning.ldpjm.cn.gov.cn.ldpjm.cn http://www.morning.nlwrg.cn.gov.cn.nlwrg.cn http://www.morning.nxfuke.com.gov.cn.nxfuke.com http://www.morning.gjqwt.cn.gov.cn.gjqwt.cn http://www.morning.nwgkk.cn.gov.cn.nwgkk.cn http://www.morning.qnyf.cn.gov.cn.qnyf.cn http://www.morning.ftsmg.com.gov.cn.ftsmg.com http://www.morning.xjbtb.cn.gov.cn.xjbtb.cn http://www.morning.pjbhk.cn.gov.cn.pjbhk.cn http://www.morning.fkmqg.cn.gov.cn.fkmqg.cn http://www.morning.kbntl.cn.gov.cn.kbntl.cn http://www.morning.rjynd.cn.gov.cn.rjynd.cn http://www.morning.lwmxk.cn.gov.cn.lwmxk.cn