oj

华为OJ平台——字符串分隔

家住魔仙堡 提交于 2020-01-31 04:54:14
题目描述: 连续输入字符串,请按长度为8拆分每个字符创 后输出到新的字符串数组; 长度不是8整数倍的字符串请在后面补数字0,空字符串不处理 输入   连续输入字符串(输入两次,每个字符长长度小于100) 输出   输出到长度为8,的新字符串数组 样例输入   abc   123456789 样例输出   abc00000   12345678   90000000 思路: 都是直接处理,没有具体的方法而言 注意点: 华为的OJ平台的输入输出有点坑,好多次的程序都在这里出问题,在Eclipse上运行的结果没问题,然后在OJ上就是编译出错或者格式错误什么的 本题中 输入是以换行符来表示一个字符串的输入结束,输出是以每8个一组为一行输出 1 import java.util.Scanner; 2 3 /** 4 * 连续输入字符串,请按长度为8拆分每个字符创 后输出到新的字符串数组; 5 * 长度不是8整数倍的字符串请在后面补数字0,空字符串不处理 6 * 输入 7 * 连续输入字符串(输入两次,每个字符长长度小于100) 8 * 输出 9 * 输出到长度为8,的新字符串数组 10 * 样例输入 11 * abc 12 * 123456789 13 * 样例输出 14 * abc00000 15 * 12345678 16 * 90000000 17 * 18 */ 19 public

华为OJ平台——密码强度等级

南笙酒味 提交于 2020-01-31 04:54:04
题目描述:     密码按如下规则进行计分,并根据不同的得分为密码进行安全等级划分。 一、密码长度:   5 分: 小于等于4 个字符   10 分: 5 到7 字符   25 分: 大于等于8 个字符 二、字母:   0 分: 没有字母   10 分: 全都是小(大)写字母   20 分: 大小写混合字母 三、数字:   0 分: 没有数字    10 分: 1 个数字   20 分: 大于1 个数字 四、符号:   0 分: 没有符号   10 分: 1 个符号    25 分: 大于1 个符号 五、奖励:   2 分: 字母和数字   3 分: 字母、数字和符号    5 分: 大小写字母、数字和符号 最后的评分标准:    >= 90: 非常安全    >= 80: 安全(Secure)    >= 70: 非常强   >= 60: 强(Strong)   >= 50: 一般(Average)   >= 25: 弱(Weak)   >= 0: 非常弱   对应输出为:    VERY_WEAK,    WEAK,    AVERAGE,    STRONG,    VERY_STRONG,    SECURE,    VERY_SECURE 请根据输入的密码字符串,进行安全评定。 注: 字母:a-z, A-Z 数字:-9 符号包含如下:

杭电OJ——2026 首字母变大写

孤街浪徒 提交于 2020-01-29 14:25:12
这里要根据回车换行来结束一个字符串的输入,而scanf和cin都是根据空格来结束输入的,所以百度了一下,知道了getline()函数 首字母变大写 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 98396 Accepted Submission(s): 53264 Problem Description 输入一个英文句子,将每个单词的第一个字母改成大写字母。 Input 输入数据包含多个测试实例,每个测试实例是一个长度不超过100的英文句子,占一行。 Output 请输出按照要求改写后的英文句子。 Sample Input i like acm i want to get an accepted Sample Output I Like Acm I Want To Get An Accepted # include <iostream> # include <string> using namespace std ; int main ( ) { string ss ; while ( getline ( cin , ss ) ) { //该函数根据换行符'\n'结束输入,注意参数是string类的,不是字符数组 int

力扣 OJ 52. N皇后 II

二次信任 提交于 2020-01-28 17:56:36
n 皇后问题研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。 上图为 8 皇后问题的一种解法。 给定一个整数 n,返回 n 皇后不同的解决方案的数量。 示例: 输入: 4 输出: 2 解释: 4 皇后问题存在如下两个不同的解法。 [ [".Q..", // 解法 1 "...Q", "Q...", "..Q."], ["..Q.", // 解法 2 "Q...", "...Q", ".Q.."] ] 代码: int m, sum; int list_[100]; void place(int row) { if (row == m)sum++; for (int i = 0; i < m; i++) { bool flag = true; for (int j = 0; j < row; j++) if (list_[j] == i || list_[j] - j == i - row || list_[j] + j == i + row)flag = false; if (flag) { list_[row] = i; place(row + 1); } } } class Solution { public: int totalNQueens(int n) { m = n; sum = 0; place(0); return sum; } }

东华oj-基础题第32题

房东的猫 提交于 2020-01-28 11:53:49
32 完数个数 作者: xxx时间限制: 1S章节: 循环 问题描述 : 完数的定义:如果一个大于1的正整数的所有真因子(不包括自己的那些因子)之和等于它的本身,则称这个数是完数,比如6,28都是完数:6=1+2+3;28=1+2+4+7+14。 本题的任务是判断两个正整数之间完数的个数。 输入说明 : 第一行是一个正整数n,表示测试实例的个数,然后就是n个测试实例,每个实例占一行,由两个正整数num1和num2组成,(1<num1,num2<10000) 输出说明 : 对于每组测试数据,请输出num1和num2之间(包括num1和num2)存在的完数个数。 输入范例 : 3 2 9999 4305 4135 5186 91 输出范例 : 4 0 1 /* T32 完数个数 算法概述:从1到num / 2累加数num的因数(不考虑num本身), 若出现了和等于num,则将完数个数加1 */ #include<stdio.h> // 判断是否为完数,是完数返回1,否则返回0 int isPerfect(int x) { int sum = 0, i = 0 ; for ( i = 1 ; i <= x / 2 ; i++) { if (x % i == 0) { // i为x的因数 sum += i ; } } if (sum == x) { return 1 ; } else {

九度oj 题目1061:成绩排序

蹲街弑〆低调 提交于 2020-01-28 02:20:30
题目1061:成绩排序 时间限制: 1 秒 内存限制: 32 兆 特殊判题: 否 提交: 24473 解决: 6960 题目描述: 有N个学生的数据,将学生数据按成绩高低排序,如果成绩相同则按姓名字符的字母序排序,如果姓名的字母序也相同则按照学生的年龄排序,并输出N个学生排序后的信息。 输入: 测试数据有多组,每组输入第一行有一个整数N(N<=1000),接下来的N行包括N个学生的数据。 每个学生的数据包括姓名(长度不超过100的字符串)、年龄(整形数)、成绩(小于等于100的正数)。 输出: 将学生信息按成绩进行排序,成绩相同的则按姓名的字母序进行排序。 然后输出学生信息,按照如下格式: 姓名 年龄 成绩 样例输入: 3 abc 20 99 bcd 19 97 bed 20 97 样例输出: bcd 19 97 bed 20 97 abc 20 99 提示: 学生姓名的字母序区分字母的大小写,如A要比a的字母序靠前(因为A的ASC码比a的ASC码要小)。 1 #include <iostream> 2 #include <algorithm> 3 #include <cstdio> 4 #include <cstring> 5 using namespace std; 6 7 typedef struct { 8 char name[101]; 9 int age; 10 int

九度oj 1023 EXCEL排序

倾然丶 夕夏残阳落幕 提交于 2020-01-27 07:55:35
题目描述: Excel可以对一组纪录按任意指定列排序。现请你编写程序实现类似功能。 对每个测试用例,首先输出1行“Case i:”,其中 i 是测试用例的编号(从1开始)。随后在 N 行中输出按要求排序后的结果,即:当 C=1 时,按学号递增排序;当 C=2时,按姓名的非递减字典序排序;当 C=3 时,按成绩的非递减排序。当若干学生具有相同姓名或者相同成绩时,则按他们的学号递增排序。 输入: 测试输入包含若干测试用例。每个测试用例的第1行包含两个整数 N (N<=100000) 和 C,其中 N 是纪录的条数,C 是指定排序的列号。以下有N行,每行包含一条学生纪录。每条学生纪录由学号(6位数字,同组测试中没有重复的学号)、姓名(不超过8位且不包含空格的字符串)、成绩(闭区间[0, 100]内的整数)组成,每个项目间用1个空格隔开。当读到 N=0 时,全部输入结束,相应的结果不要输出。 输出: 对每个测试用例,首先输出1行“Case i:”,其中 i 是测试用例的编号(从1开始)。随后在 N 行中输出按要求排序后的结果,即:当 C=1 时,按学号递增排序;当 C=2时,按姓名的非递减字典序排序;当 C=3 时,按成绩的非递减排序。当若干学生具有相同姓名或者相同成绩时,则按他们的学号递增排序。 样例输入: 3 1 000007 James 85 000010 Amy 90 000001

杭电OJ——2005 第几天?

社会主义新天地 提交于 2020-01-27 00:06:57
杭电OJ——2005 第几天? 谨以此文记录我的菜鸟敲代码之路 真的想提高编程能力,最近在刷杭电的第11页OJ,八说了,上我的菜鸟代码。 第几天? Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 251887 Accepted Submission(s): 87013 Problem Description 给定一个日期,输出这个日期是该年的第几天。 Input 输入数据有多组,每组占一行,数据格式为YYYY/MM/DD组成,具体参见sample input ,另外,可以向你确保所有的输入数据是合法的。 Output 对于每组输入数据,输出一行,表示该日期是该年的第几天。 Sample Input 1985/1/20 2006/3/12 Sample Output 20 71 # include <iostream> using namespace std ; bool judge_run ( int year ) { //闰年2月29天,平年28天 //闰年条件:1、能被4整除且不能被100整除 //2、能被400整除 if ( year % 4 == 0 && year % 100 != 0 ) { return true

2020年 1月26号OJ习题【很low】

自作多情 提交于 2020-01-26 18:48:53
捐款 简单的等差数列求和 # include <bits/stdc++.h> using namespace std ; int main ( ) { int n , sum ; ios :: sync_with_stdio ( false ) ; while ( cin >> n ) { sum = ( 1 + n ) * n / 2 ; cout << sum << endl ; } return 0 ; } 军训 简单的排列计算 # include <bits/stdc++.h> using namespace std ; int main ( ) { int n ; while ( scanf ( "%d" , & n ) != EOF ) { int sum = 1 ; for ( int i = 1 ; i <= n ; i ++ ) { sum * = i ; } printf ( "%d\n" , sum ) ; } return 0 ; } 求导 简单的函数 # include <bits/stdc++.h> using namespace std ; double f ( double x ) { return 3 * x * x + 2 * x + 4 ; } int main ( ) { double x , h , y ; while ( cin >> x

查看程序设计OJ通过码的方式

浪子不回头ぞ 提交于 2020-01-26 18:17:32
中国大学MOOC上北大的题目做完后需要提交通过码,可以通过 右键->打开方式->记事本 打开,不过有时候通过码数量比较多,一个个打开比较麻烦,可以用标准C的文件读写,结合一些C++特性来节省时间 1 #include <bits/stdc++.h> 2 #include <algorithm> 3 using namespace std; 4 FILE *fp,*fout; 5 int main () { 6 cout << "Input the length of the digits:"; 7 int len; 8 cin >> len; 9 10 cout << "Input the num of fils:"; 11 int n; 12 cin >> n; 13 14 fout=fopen("result.txt","w"); 15 16 string head="acckey",dig,re; 17 char s[10]; 18 19 for (int i=1;i <= n;++i) { 20 itoa(i,s,10); 21 dig.append(len-strlen(s),'0'); 22 dig.append(s); 23 re=head+dig; 24 dig.clear(); 25 26 cout << "Reading " << re << endl; 27