题目描述
写一个程序来模拟操作系统的进程调度。假设该系统只有一个CPU,每一个进程的到达时间,执行时间和运行优先级都是已知的。其中运行优先级用自然数表示,数字越大,则优先级越高。
如果一个进程到达的时候CPU是空闲的,则它会一直占用CPU直到该进程结束。除非在这个过程中,有一个比它优先级高的[……]
写一个程序来模拟操作系统的进程调度。假设该系统只有一个CPU,每一个进程的到达时间,执行时间和运行优先级都是已知的。其中运行优先级用自然数表示,数字越大,则优先级越高。
如果一个进程到达的时候CPU是空闲的,则它会一直占用CPU直到该进程结束。除非在这个过程中,有一个比它优先级高的[……]
小明正在学习一种新的编程语言 A++,刚学会循环语句的他激动地写了好多程序并 给出了他自己算出的时间复杂度,可他的编程老师实在不想一个一个检查小明的程序, 于是你的机会来啦!下面请你编写程序来判断小明对他的每个程序给出的时间复杂度是否正确。
A++语言的循环结构如下:
[cray[……]
简单的模拟,先处理尾巴再处理头就行了
注意最后判断的先后顺序
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 |
#include<stdio.h> #include<string.h> using namespace std; const int dx[4] = {0, 1, 0, -1}, dy[4] = {1, 0, -1, 0}; struct pos { int x, y; } w[25]; int n, v[60][60], f, cnt; char s[110]; int wormMove(int d) { v[w[20].x][w[20].y] = 0; for (int i = 20; i >= 2; --i) { w[i] = (pos) {w[i-1].x, w[i-1].y}; } w[1].x += dx[d]; w[1].y += dy[d]; if (w[1].x > 50 || w[1].x < 1 || w[1].y > 50 || w[1].y < 1) { return -1; } if (v[w[1].x][w[1].y]) { return 0; } v[w[1].x][w[1].y] = 1; return 1; } int main() { freopen("worm.in", "r", stdin); freopen("worm.out", "w", stdout); while (scanf("%d", &n) != EOF && n) { scanf("%s", s+1); memset(v, 0, sizeof(v)); w[1] = (pos) {25, 30}; v[25][30] = 1; for (int i = 2; i <= 20; ++i) { w[i] = (pos) {w[i-1].x, w[i-1].y-1}; v[w[i].x][w[i].y] = 1; } cnt = 0; for (int i = 1; i <= n; ++i) { switch (s[i]) { case 'E': { f = wormMove(0); break; } case 'W': { f = wormMove(2); break; } case 'S': { f = wormMove(1); break; } case 'N': { f = wormMove(3); break; } } cnt++; if (!f || f == -1) { break; } } if (!f) { printf("The worm ran into itself on move %d.\n", cnt); } else if (f == -1) { printf("The worm ran off the board on move %d.\n", cnt); } else { printf("The worm successfully made all %d moves.\n", cnt); } } return 0; } |
什么是电阻?这个大家应该都知道。什么是电路?大家也应该知道。但是本题当中,电路的定义或许有点不同:
电路都带有正、负极接点,正极在左,负极在右。具体地:电路分为以下几类:
单独的一个1Ω电阻(及其两端的接点)是电路。(虽然导线也可以被视为0Ω的电阻,但是单独的导线不是电路)
如果A[……]
[问题描述]
有一种文档的加密方法,包含了下述的翻译步骤:输入包含了一个字符串C有n个小写字母,C=c1c2…cn,所有的字符都是不一样的。如果把第一个字符移到最后一个,我们就创造了一个新的字符串。我们把Ck定义为:ck+1ck+2….cnc1c2..ck,把原字符串定义为C0。[……]
【问题描述】
比赛中记分牌上的得分数,由标有数字0~9 的10 类卡片组合而成,例如得分225 由两张标有2的卡片和一张标有5 的卡片组合而成。
然而,在一场比赛前,粗心的记分员只拿了包含0 在内的m 类卡片(假定每类卡片数目无限)。为了不延误比赛,记分员决定用这m 类卡片表示比赛分数,[……]