当前位置: 首页 > news >正文

云南网站建设一度科技公司种子搜索引擎

云南网站建设一度科技公司,种子搜索引擎,erp生产管理系统,手机上可建网站做淘宝客吗目录 1.首字母变大写 2.盾神计科导作业 3.Cinema 4.接水问题 1.首字母变大写 问题描述 对一个字符串中的所有单词,如果单词的首字母不是大写字母,则把单词的首字母变成大写字母。在字符串中,单词之间通过空白符分隔,空白符包括…

目录

1.首字母变大写

2.盾神计科导作业

3.Cinema

4.接水问题


1.首字母变大写

问题描述

对一个字符串中的所有单词,如果单词的首字母不是大写字母,则把单词的首字母变成大写字母。在字符串中,单词之间通过空白符分隔,空白符包括:空格(' ')、制表符('\t')、回车符('\r')、换行符('\n')

输入格式

输入一行:待处理的字符串(长度小于80)

输出格式

输出一行:转换后的字符串。

样例输入

if so, you already have a google account. you can sign in on the right.

样例输出

If So, You Already Have A Google Account. You Can Sign In On The Right.

示例代码

#include<string.h>
#include<stdio.h>
int main(){char a[256];gets(a);int len=strlen(a);int flag=1;for(int i=0;i<len;i++){if(a[i]>='a' && a[i]<='z'){//如果是单词字母if(flag==1){//如果是首字母printf("%c",a[i]-32);flag=0;}else{printf("%c",a[i]);}}else{flag=1;printf("%c",a[i]);}}
}

2.盾神计科导作业

问题描述

盾神由于最近沉迷于电影赏析中忘记完成计算机导论的作业,为了加快他完成作业的进程他提出了一个简化版模拟cpu运行的问题。
现在一共有16个寄存器(编号为16进制),初始时每个寄存器内部然后给定一串操作序列(具体操作内容如下),然后顺序输出操作序列结束后的寄存器的值。
操作:
0abc 把值bc(十六进制表示下)存入寄存器a。
10ab 把寄存器b的值存入a。
2rab 把寄存器a,b的和存入r。
3rab 把寄存器a,b的or存入r。
4rab 把寄存器a,b的and存入r。
5rab 把寄存器a,b的xor存入r。
6000 停止。
字母均为大写。
假设寄存器能存储的数字大小为maxint。

输入格式

每行一条指令。

输出格式

顺序一行输出每个寄存器的值(表示为10进制)。

样例输入

0011
0122
2312

样例输出

17 34 51 0 0 0 0 0 0 0 0 0 0 0 0 0

数据规模和约定

输入数据指令个数小于10000条。

示例代码

#include<iostream>
using namespace std;
int shiliuzhuanshi(char n) {int n1;if ('0' <= n && n <= '9') {n1 = int(n) - 48;}else {n1 = int(n) - 55;}return n1;
}
int huo(int a, int b) {int c = 0, temp1[16] = { 0 }, temp2[16] = { 0 };int temp = 32768;for (int i = 0; i < 16; i++) {temp1[i] = a / temp;a = a % temp;temp /= 2;}temp = 32768;for (int i = 0; i < 16; i++) {temp2[i] = b / temp;b = b % temp;temp /= 2;};temp = 32768;for (int i = 0; i < 16; i++) {if (temp1[i] == 1 || temp2[i] == 1) {c += temp * 1;}temp /= 2;}return c;
}
int yu(int a, int b) {int c = 0, temp1[16] = { 0 }, temp2[16] = { 0 };int temp = 32768;for (int i = 0; i < 16; i++) {temp1[i] = a / temp;a = a % temp;temp /= 2;}temp = 32768;for (int i = 0; i < 16; i++) {temp2[i] = b / temp;b = b % temp;temp /= 2;};temp = 32768;for (int i = 0; i < 16; i++) {if (temp1[i] == 1 && temp2[i] == 1) {c += temp * 1;}temp /= 2;}return c;
}
int yihuo(int a, int b) {int c = 0, temp1[16] = { 0 }, temp2[16] = { 0 };int temp = 32768;for (int i = 0; i < 16; i++) {temp1[i] = a / temp;a = a % temp;temp /= 2;}temp = 32768;for (int i = 0; i < 16; i++) {temp2[i] = b / temp;b = b % temp;temp /= 2;};temp = 32768;for (int i = 0; i < 16; i++) {if (temp1[i] != temp2[i]) {c += temp * 1;}temp /= 2;}return c;
}
int a[16] = { 0 };int main() {string str;while (cin>>str) {int a1 = int(str[0]) - 48;//字符串第一位int a2 = shiliuzhuanshi(str[1]);//字符串第二位int a3 = shiliuzhuanshi(str[2]);//字符串第三位int a4 = shiliuzhuanshi(str[3]);//字符串第四位if (a1 == 0) {//a3和a4组成的16进制数以10进制存入寄存器a2中a[a2] = a3 * 16 + a4;}else if (a1 == 1) {//a4寄存器存入a3中a[a3] = a[a4];}else if (a1 == 2) {//a3和a4寄存器的值的和存入a2寄存器中a[a2] = a[a3] + a[a4];}else if (a1==3) {a[a2] = huo(a[a3], a[a4]);}else if (a1 == 4) {a[a2] = yu(a[a3], a[a4]);}else if (a1 == 5) {a[a2] = yihuo(a[a3], a[a4]);}else {break;}}for (int i = 0; i < 16; i++) {cout << a[i] << " ";}return 0;
}

3.Cinema

问题描述

给你一个n行m列的01矩阵A,每个元素初始值为0,
再给你k个这样的操作:
给出(xi,yi),你得按要求找出(ai,bi),
将矩阵A的点(ai,bi)赋值为1,并且输出(ai,bi).
要求如下:
1.A(ai,bi)==0.
2.满足1的情况下 , (ai,bi)与(xi,yi)的曼哈顿距离尽可能小.
3.若存在多个(ai,bi)满足条件2 , 则选出ai最小的.
4.若存在多个(ai,bi)满足条件3 , 则选出bi最小的.

输入格式

输入第一行三个正整数n,m,k , 分别表示行数,列数,操作数.
接下来k行每行包含两个正整数xi,yi , 意义见问题描述.

输出格式

共k行 , 每行输出你所求出的ai,bi .

样例输入

3 4 6
1 1
1 1
1 1
1 2
1 3
1 3

样例输出

1 1
1 2
2 1
1 3
1 4
2 3

样例输入

4 3 12
2 2
2 2
2 2
2 2
2 2
2 2
2 2
2 2
2 2
2 2
2 2
2 2

样例输出

2 2
1 2
2 1
2 3
3 2
1 1
1 3
3 1
3 3
4 2
4 1
4 3

福利数据一

5 3 0

福利数据二

2 5 4
2 3
1 3
1 5
2 3

数据规模和约定

对于10%的数据,乃福利数据.
另有10%的数据,n=1,m<=2000.
另有20%的数据,n,m<=100.
另有20%的数据,n,m<=400.
剩余60%的数据,n,m<=2000.
对于所有数据满足0<=k<=min(100000,n*m) , 1<=xi<=n , 1<=yi<=m .

备注一

为了不黑P党,时限从1.3s改成3s,不过大家应在1.3s内通过为好.

备注二

下面是原题面,由于可能存在的"调侃"行为不再使用:
由于清澄完善的功能导至本人娱乐过度玩脱了,所以原题面暂时丢失.

示例代码

#include<iostream>
using namespace std;
int n, m, k;
int A[10000][10000] = { 0 }, B[10000][10000] = { 0 };
int abs(int n) {if (n < 0) {return 0 - n;}return n;
}
int main() {	ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);cin >> n >> m >> k;int a, b;for (int i = 0; i < k; i++) {cin >> a >> b;	if (A[a][b] == 0) {A[a][b] = 1;B[a][b]++;cout << a << " " << b << endl;}else {int minlen = B[a][b];//最短曼哈顿距离int flag = 0;while(flag==0){int hang;if (a - minlen <= 0) {//超出数组上边界hang = 1;}else {hang = a - minlen;}for (int j = hang; j <= a; j++) {//上面int zlie, ylie;int leftlen = minlen - abs(a - j);zlie = b - leftlen;ylie = b + leftlen;if (zlie >= 1 && A[j][zlie] == 0) {cout << j << " " << zlie << endl;A[j][zlie] = 1;flag = 1;B[a][b] = minlen;break;}else if (ylie <= m && A[j][ylie] == 0) {cout << j << " " << ylie << endl;A[j][ylie] = 1;flag = 1;B[a][b] = minlen;break;}}if (flag == 1) {break;}if (a + minlen > n) {//超出数组下边界hang = n;}else {hang = a + minlen;}for (int j = a+1; j <= hang; j++) {//下面int zlie, ylie;int leftlen = minlen - abs(a - j);zlie = b - leftlen;ylie = b + leftlen;if (zlie >= 1 && A[j][zlie] == 0) {cout << j << " " << zlie << endl;A[j][zlie] = 1;flag = 1;B[a][b] = minlen;break;}else if (ylie <= m && A[j][ylie] == 0) {cout << j << " " << ylie << endl;A[j][ylie] = 1;flag = 1;B[a][b] = minlen;break;}}//没找到minlen++;}}}return 0;
}

4.接水问题

问题描述

学校里有一个水房,水房里一共装有m 个龙头可供同学们打开水,每个龙头每秒钟的 供水量相等,均为1。 现在有n 名同学准备接水,他们的初始接水顺序已经确定。将这些同学按接水顺序从1 到n 编号,i 号同学的接水量为wi。接水开始时,1 到m 号同学各占一个水龙头,并同时打 开水龙头接水。当其中某名同学j 完成其接水量要求wj 后,下一名排队等候接水的同学k 马上接替j 同学的位置开始接水。这个换人的过程是瞬间完成的,且没有任何水的浪费。即 j 同学第x 秒结束时完成接水,则k 同学第x+1 秒立刻开始接水。若当前接水人数n’不足m, 则只有n’个龙头供水,其它m−n’个龙头关闭。 现在给出n 名同学的接水量,按照上述接水规则,问所有同学都接完水需要多少秒。

输入格式

第1 行2 个整数n 和m,用一个空格隔开,分别表示接水人数和龙头个数。 第2 行n 个整数w1、w2、……、wn,每两个整数之间用一个空格隔开,wi 表示i 号同 学的接水量。

输出格式

输出只有一行,1 个整数,表示接水所需的总时间。

样例输入

Sample Input1:
5 3
4 4 1 2 1

Sample Input2:
8 4
23 71 87 32 70 93 80 76

样例输出

Sample Output1:
4

Sample Output2:
163

输入输出样例1说明

第1 秒,3 人接水。第1 秒结束时,1、2、3 号同学每人的已接水量为1,3 号同学接完
水,4 号同学接替3 号同学开始接水。
第2 秒,3 人接水。第2 秒结束时,1、2 号同学每人的已接水量为2,4 号同学的已接
水量为1。
第3 秒,3 人接水。第3 秒结束时,1、2 号同学每人的已接水量为3,4 号同学的已接
水量为2。4 号同学接完水,5 号同学接替4 号同学开始接水。
第4 秒,3 人接水。第4 秒结束时,1、2 号同学每人的已接水量为4,5 号同学的已接
水量为1。1、2、5 号同学接完水,即所有人完成接水。
总接水时间为4 秒。

数据规模和约定

1 ≤ n ≤ 10000,1 ≤m≤ 100 且m≤ n;
1 ≤ wi ≤ 100。

示例代码

#include<iostream>
using namespace std;
int n, m, k;
int finish(int b[100], int m) {for (int i = 0; i < m; i++) {if (b[i] > 0) {return 0;}}return 1;
}
int main() {	int n, m, t = 0, a[10000], b[100] = { 0 };cin >> n >> m;if (m > n) {m = n;}for (int i = 0; i < n; i++) {cin >> a[i];}int cnt = m;for (int i = 0; i < m; i++) {b[i] = a[i];}int time = 0;while (finish(b, m) == 0) {//只有还有水龙头在使用time++;for (int i = 0; i < m; i++) {b[i]--;if (b[i] == 0) {if (cnt < n ) {//如果还有人没打水b[i] = a[cnt++];}}}}cout << time;return 0;
}

http://www.rdtb.cn/news/12295.html

相关文章:

  • 万维网 网站 主页 网页网店营销与推广策划方案
  • 做spa的网站怎么推广网站seo标题是什么意思
  • 大型门户网站建设流程注册网站怎么注册
  • 做药材有什么好的网站网推项目接单平台
  • 望牛墩镇做网站整合网络营销公司
  • 两课测试网站怎么做的泰州网站建设优化
  • 天津通用网站建设收费公司网址怎么注册
  • 电子商务网站有哪些内容最新国际新闻头条新闻
  • 南通做网站找谁电商网站公司
  • 公众号模板网站如何推广app
  • wordpress怎么修改抬头seo诊断优化专家
  • 新闻网站建设中ASP的应用研究百度地图人工电话
  • 地产网站互动营销sem是什么公司
  • 权威的合肥网站建设seo人才
  • 网站中常用的功能模块今日国内新闻最新消息
  • 个人网站icp2020 惠州seo服务
  • 什么网站可以做试卷软文推广营销服务平台
  • 做网站需要什么资料超级seo外链工具
  • 网站功能设计有哪些要求seo优化外包顾问
  • 骨干校建设验收网站黑龙江最新疫情
  • 东莞市外贸网站建设公司快速优化关键词排名
  • 南阳微网站建设网站推广与优化平台
  • 杭州滨江网站建设公司windows 优化大师
  • 中国建设银行怎么查询余额开鲁网站seo转接
  • 模板做网站百度爱采购服务商查询
  • wordpress恢复网站seo点击软件
  • 网站建设需求问卷品牌推广内容
  • 网站域名不变网站可以从做吗东莞建设企业网站公司
  • 专业开发网站建设360社区app
  • windows10网站建设百度pc网页版登录入口