学习网站建设软件叫什么,网络机柜定制,网站的友情链接是什么意思,亩地 wordpress第一题#xff1a;小中大 在数据分析中#xff0c;最小值最大值以及中位数是常用的统计信息。 老师给了你 n 个整数组成的测量数据#xff0c;保证有序#xff08;可能为升序或降序)#xff0c;可能存在重复的数据。 请统计出这组测量数据中的最大值、中位数以及最小值小中大 在数据分析中最小值最大值以及中位数是常用的统计信息。 老师给了你 n 个整数组成的测量数据保证有序可能为升序或降序)可能存在重复的数据。 请统计出这组测量数据中的最大值、中位数以及最小值并按照从大到小的顺序输出这三个数。 输入格式 第一行输入一个整数 n。 第二行中存在 n 个有序的整数表示测量数据可能为升序或降序排列可能存在连续多个整数相等整数与整数之间使用空格隔开。 输出格式 包含一行包括最大值、中位数以及最小值共三个数并按照从大到小的顺序输出。 数据与数据之间使用空格隔开。 对于整数请直接输出整数对于可能出现的分数请输出四舍五入保留 1 位小数的结果。 数据范围 测试点n测量数据的绝对值测量数据是否均相同1,2≤1e3≤1e7是3,4,5,6≤1e3≤1e7否7,8≤1e5≤1e7是9∼20≤1e5≤1e7否 输入样例1 3
-1 2 4输出样例1 4 2 -1样例1解释 4 为最大值2 为中位数−1 为最小值。 输入样例2 4
-2 -1 3 4输出样例2 4 1 -2样例2解释 4 为最大值(−13)÷21 为中位数−2 为最小值。 #includeiostreamusing namespace std;const int N 1e5 10;
int n;
int a[N];
int _max -0x3f3f3f3f , _min 0x3f3f3f3f;int main()
{cin n;for(int i 0;i n;i ) cin a[i] , _max max(_max , a[i]) , _min min(_min , a[i]);double x 0;if(n 1) x a[n / 2];else x (a[n / 2] a[n / 2 - 1]) * 1.0 / 2;if((int)x x)printf(%d %d %d , _max , (int)x , _min);else printf(%d %.1lf %d ,_max , x , _min);return 0;
} n int(input())
l list(map(int , input().split()))
x 0
if n 1:x l[n // 2]
else:x (l[n // 2 - 1] l[n // 2]) / 2
print(max(l) , end )
if int(x) x:print(int(x) , end )
else:print(%.1lf %(x) , end )
print(min(l))
第二题二十四点 二十四点是一款著名的纸牌游戏其游戏的目标是使用 3 个加减乘除运算使得 4 张纸牌上数字的运算结果为 24。 定义每一个游戏由 4 个从 1−9 的数字和 3 个四则运算符组成保证四则运算符将数字两两隔开不存在括号和其他字符运算顺序按照四则运算顺序进行。 其中加法用符号 表示减法用符号 - 表示乘法用小写字母 x 表示除法用符号 / 表示。 在游戏里除法为整除向下取整例如 2/30,3/21,4/22−3/7−1。 老师给了你 n 个游戏的解请你编写程序验证每个游戏的结果是否为 24。 输入格式 第一行输入一个整数 n。 从第 2 行开始到第 n1 行中每一行包含一个长度为 7 的字符串为上述的 24 点游戏保证数据格式合法。 输出格式 包含 n 行对于每一个游戏如果其结果为 24 则输出字符串 Yes否则输出字符串 No。 数据范围 输入样例 10
934x3
54x5x5
7-9-98
5x6/5x4
3579
1x19-9
1x9-5/9
8/56x9
6x7-3x6
6x44/5输出样例 Yes
No
No
Yes
Yes
No
No
No
Yes
Yes样例解释 934×324
54×5×5105
7-9-98-3
5×6/5×424
357924
1×19-91
1×9-5/99
8/56×955
6×7-3×624
6×44/524 解题思路
使用python的eval函数进行求解
for _ in range(int(input())):s input()s s.replace(x , *)s s.replace(/ , //)if eval(s) 24:print(Yes)else:print(No)
第三题损坏的RAID5这一次的最难的
大模拟
#include iostream
#include cstring
#include algorithmusing namespace std;typedef unsigned int UI;
const int N 1010, M 40 * 1024 * 8 10;int n, s, l;
UI disk[N][M / 8];
bool st[N];
char str[M];
int len;inline UI get(char c)
{if (c 9) return c - 0;return c - A 10;
}inline char get(UI x)
{if (x 9) return x 0;return x - 10 A;
}inline string u2s(UI x)
{string res;for (int i 7; i 0; i -- )res get(x (i 2) 15);return res;
}inline int get_real_col(int r, int c)
{r % n;r n - 1 - r;return (r 1 c) % n;
}int main()
{scanf(%d%d%d, n, s, l);for (int u 0; u l; u ){int k;scanf(%d, k);getchar();fgets(str, M, stdin);int sz strlen(str) - 1;for (int i 0; i sz; i 8){UI x 0;for (int j 0; j 8; j )x (x 4) get(str[i j]);disk[k][i 3] x;}st[k] true;len max(len, sz 3);}int m;scanf(%d, m);while (m -- ){int b;scanf(%d, b);if (b len * (n - 1)) puts(-);else{int k b / s;int row k / (n - 1), col get_real_col(row, k % (n - 1));int r row * s b % s;if (st[col])puts(u2s(disk[col][r]).c_str());else if (l n - 1){UI x 0;for (int i 0; i n; i ) x ^ disk[i][r];puts(u2s(x).c_str());}else puts(-);}}return 0;
}。
第四题消息传递接口
解题思路使用队列进行模拟信息传递接口
#include iostream
#include cstring
#include algorithm
#include queue
#include sstreamusing namespace std;const int N 10010;int n;
struct Op
{// 0代表S 1代表R -1代表等待int p, id;
};
queueOp q[N];
bool st[N];// 判断该进程是否在等待// 功能: PD pid进程当前指令能否执行完毕, 目前pid执行到{!type, oid}, 即期望对方是type
bool dfs(int p, int id, int pid)
{// 若等待的对方也在等待则死锁if (st[id]) return false;st[id] true;// 对方进入等待队列while (q[id].size()){auto t q[id].front();// 如果对方等的那个刚刚好是自己且刚刚好是自己所期待的if (t.p p t.id pid){st[id] false;q[id].pop();return true;}// PD 对方当前指令能否完成else if (dfs(t.p ^ 1, t.id, id)) q[id].pop();else return false;}st[id] false;return p -1;
}int main()
{int T;cin T n;getchar();while (T -- ){string str;for (int i 0; i n; i ){st[i] false;q[i] queueOp();getline(cin, str);stringstream ssin(str);while (ssin str)if (str[0] S) q[i].push({0, stoi(str.substr(1))});else q[i].push({1, stoi(str.substr(1))});}// 添加一个-1进程等待所有0~n-1进程执行完bool success true;for (int i 0; i n; i )if (!dfs(-1, i, -1)){success false;break;}if (success) puts(0);else puts(1);}return 0;
}
第五题317号子问题
经典的图论问题SPFA 或 迪杰斯特拉
#includeiostream
#includealgorithm
#includecstring
#includequeue
#includevectorusing namespace std;
const int N 1e4 10 , M 2e5 10 , INF 0x3f3f3f3f;
typedef pairint , intPII;
int h[M] , ne[M] , w[M] , e[M] , idx;void add(int a , int b , int c)
{e[idx] b , w[idx] c , ne[idx] h[a] , h[a] idx ;
}
int solor[N];
int n , m , k;
bool st[N];
int dist[N] , cnt 0;
int d[N][1010];void dij(int s)
{memset(dist , 0x3f , sizeof dist);memset(st , 0 , sizeof st);dist[s] 0;priority_queuePII , vectorPII , greaterPIIq;q.push({0 , s});while(!q.empty()){auto t q.top();q.pop();int x t.second;if(st[x]) continue;st[x] true;for(int i h[x];~i;i ne[i]){int j e[i];if(dist[j] dist[x] w[i]){dist[j] dist[x] w[i];q.push({dist[j] , j});}}}for (int i 1; i n; i ) d[i][cnt] dist[i];
}void spfa(int start)
{int hh 0, tt 1;memset(dist, 0x3f, sizeof dist);int q[N];q[0] start, dist[start] 0;while (hh ! tt){int t q[hh ];if (hh N) hh 0;st[t] false;for (int i h[t]; ~i; i ne[i]){int j e[i];if (dist[j] dist[t] w[i]){dist[j] dist[t] w[i];if (!st[j]){q[tt ] j;if (tt N) tt 0;st[j] true;}}}}for (int i 1; i n; i ) d[i][cnt] dist[i];
}int main()
{memset(h , -1 , sizeof h);scanf(%d %d %d ,n ,m ,k);for(int i 1;i n;i )scanf(%d ,solor[i]);while(m --){int a , b , c;scanf(%d %d %d ,a ,b ,c);add(a , b , c) , add(b , a , c);}for(int i 1;i n;i )if(solor[i]){// dij(i);spfa(i);cnt ;}for(int i 1;i n;i ){sort(d[i] , d[i] cnt);int res 0;for(int j 0;j cnt j k;j )if(d[i][j] ! INF) res d[i][j];else break;printf(%d\n , res);}return 0;
}