LRJ
//3-1
- #define _CRT_SECURE_NO_WARNINGS
- #include <cstdio>
- int main()
- {
- int T;
- char score[];
- scanf("%d", &T);
- while (T-- > ) {
- scanf("%s", score);
- int sum = ;
- int num = ;
- char prev = 'X';
- for (int i = ; score[i] != '\0'; i++) {
- if (score[i] == 'O'){
- if (prev == 'O'){
- num++;
- }
- else {
- num = ;
- }
- sum += num;
- prev = 'O';
- }
- else {
- prev = 'X';
- }
- }
- printf("%d\n", sum);
- }
- return ;
- }
3-2
- #define _CRT_SECURE_NO_WARNINGS
- #include <cstdio>
- bool isNum(char c){
- return c >= '' && c <= '';
- }
- double mass(char m){
- switch (m){
- case 'C': return 12.01;
- case 'H': return 1.008;
- case 'O': return 16.00;
- case 'N': return 14.01;
- default: return 0.0;
- }
- }
- int charToInt(char c) {
- if (c >= '' && c <= '')
- return c - '';
- else
- return ;
- }
- int main()
- {
- int T;
- char molar[];
- scanf("%d", &T);
- while (T-- > ) {
- scanf("%s", molar);
- double sum = ;
- bool prevIsNum = false;
- char m = 'X'; // m is the previous molecular (C, H, O, N), 'X' is the previous for the first molecular, mass('X') == 0
- for (int i = ; molar[i] != '\0'; i++) {
- if (isNum(molar[i])){
- if (prevIsNum){
- char hiDigit = molar[i - ];
- char loDigit = molar[i];
- sum += mass(m) * (charToInt(hiDigit) * + charToInt(loDigit));
- }
- else {
- }
- prevIsNum = true;
- }
- else { // C, H, O, N
- if (prevIsNum){
- // if previous two letters are numbers, the mass is caculated elsewhere
- if (!isNum(molar[i - ])){
- char loDigit = molar[i - ];
- sum += mass(m) * charToInt(loDigit);
- }
- }
- else{
- // add previous m
- sum += mass(m);
- }
- m = molar[i];
- prevIsNum = false;
- }
- }
- // last letter is C/H/O/N
- if (!prevIsNum)
- sum += mass(m);
- printf("%.3f\n", sum);
- }
- return ;
- }
3-3
- #define _CRT_SECURE_NO_WARNINGS
- #include <cstdio>
- int main()
- {
- int T;
- int n;
- scanf("%d", &T);
- while (T-- > ) {
- scanf("%d", &n);
- int counts[] = { };
- for (int i = ; i <= n; i++){
- int j = i;
- while (j > ) {
- counts[j % ]++;
- j /= ;
- }
- }
- for (int i = ; i < ; i++){
- printf("%d", counts[i]);
- if (i == )
- printf("\n");
- else
- printf(" ");
- }
- }
- return ;
- }
3-4
- #define _CRT_SECURE_NO_WARNINGS
- #include <cstdio>
- bool sameStr(char *s1, char *s2, int len)
- {
- for (int i = ; i < len; i++)
- if (s1[i] != s2[i])
- return false;
- return true;
- }
- int main()
- {
- int T;
- char s[];
- scanf("%d", &T);
- while (T-- > ) {
- scanf("%s", s);
- if (s[] != '\0'){
- char first = s[];
- // find a equal char
- int start = ; // start point for searching
- while (true) {
- int idx = start;
- for (; s[idx] != '\0'; idx++){
- if (first == s[idx])
- break;
- }
- if (s[idx] != '\0'){
- // compare s[0..idx-1] with s[idx..] of same length = idx
- if (sameStr(s, s + idx, idx)){
- printf("%d\n\n", idx);
- break;
- }
- start = idx + ;
- }
- else{ // not found
- break;
- }
- }
- }
- else { // empty string
- }
- }
- return ;
- }
3-5
- #define _CRT_SECURE_NO_WARNINGS
- #include <cstdio>
- int main()
- {
- int T = ;
- char puzzle[][];
- char newline;
- int empty_row, empty_col;
- while (true) {
- for (int i = ; i < ; i++) {
- for (int j = ; j < ; j++) {
- scanf("%c", &puzzle[i][j]);
- if (i == && j == && puzzle[][] == 'Z'){
- // end of test cases
- return ;
- }
- if (puzzle[i][j] == ' '){
- empty_row = i;
- empty_col = j;
- }
- }
- scanf("%c", &newline); // swallow the new line
- }
- // process moves
- char m;
- bool error = false;
- while (true){
- scanf("%c", &m);
- if (m == '') break;
- switch (m){
- case 'A':
- if (empty_row == ){
- error = true;
- break;
- }
- // swap with above
- puzzle[empty_row][empty_col] = puzzle[empty_row - ][empty_col];
- puzzle[empty_row - ][empty_col] = ' ';
- empty_row--;
- break;
- case 'B':
- if (empty_row == ){
- error = true;
- break;
- }
- // swap with bottom
- puzzle[empty_row][empty_col] = puzzle[empty_row + ][empty_col];
- puzzle[empty_row + ][empty_col] = ' ';
- empty_row++;
- break;
- case 'L':
- if (empty_col == ){
- error = true;
- break;
- }
- // swap with left
- puzzle[empty_row][empty_col] = puzzle[empty_row][empty_col - ];
- puzzle[empty_row][empty_col - ] = ' ';
- empty_col--;
- break;
- case 'R':
- if (empty_col == ){
- error = true;
- break;
- }
- // swap with above
- puzzle[empty_row][empty_col] = puzzle[empty_row][empty_col + ];
- puzzle[empty_row][empty_col + ] = ' ';
- empty_col++;
- break;
- }
- }
- scanf("%c", &newline); // swallow the new line
- printf("Puzzle #%d:\n", T++);
- if (error){
- printf("This puzzle has no final configuration.\n");
- }
- else {
- for (int i = ; i < ; i++) {
- for (int j = ; j < ; j++) {
- printf("%c", puzzle[i][j]);
- if (j != ) printf(" ");
- }
- printf("\n");
- }
- }
- printf("\n");
- }
- }
3-6
- #define _CRT_SECURE_NO_WARNINGS
- #include <cstdio>
- struct grid{
- char c;
- int n;
- };
- struct grid puzzle[][];
- int main()
- {
- int r, c;
- char newline;
- int T = ;
- while (true) {
- scanf("%d", &r); if (r == ) break;
- scanf("%d", &c);
- scanf("%c", &newline); // swallow the new line
- int num = ;
- for (int row = ; row < r; row++){
- for (int col = ; col < c; col++) {
- scanf("%c", &puzzle[row][col].c);
- if ((puzzle[row][col].c != '*') && // white
- (row == || col == || puzzle[row - ][col].c == '*' || puzzle[row][col - ].c == '*')){ // eligible
- puzzle[row][col].n = num++;
- }
- else if (puzzle[row][col].c == '*') { // black
- puzzle[row][col].n = -;
- }
- else { // illegible white
- puzzle[row][col].n = ;
- }
- }
- scanf("%c", &newline); // swallow the new line
- }
- printf("puzzle #%d:\n", T++);
- // Across words
- printf("Across\n");
- for (int row = ; row < r; row++){
- int col = ;
- while (col < c) {
- while (col < c && puzzle[row][col].n < ) { // skip black
- col++;
- }
- if (col < c) {
- printf("%d.", puzzle[row][col].n);
- }
- while (col < c && puzzle[row][col].n >= ) { // eligible and illegible white
- printf("%c", puzzle[row][col].c);
- col++;
- }
- printf("\n");
- while (col < c && puzzle[row][col].n < ) { // skip black
- col++;
- }
- }
- }
- // Down words
- printf("Down\n");
- for (int row = ; row < r; row++){
- for (int col = ; col < c; col++) {
- if ((puzzle[row][col].c != '*') &&
- (row == || puzzle[row - ][col].c == '*')) {
- printf("%d.", puzzle[row][col].n);
- for (int dr = row; dr < r && puzzle[dr][col].c != '*'; dr++){
- printf("%c", puzzle[dr][col].c);
- }
- printf("\n");
- }
- }
- }
- printf("\n"); // Separate output for successive input puzzles by a blank line.
- /*
- for (int row = 0; row < r; row++) {
- for (int col = 0; col < c; col++) {
- printf("%c ", puzzle[row][col].c);
- }
- printf("\n");
- }
- for (int row = 0; row < r; row++) {
- for (int col = 0; col < c; col++) {
- printf("%d ", puzzle[row][col].n);
- }
- printf("\n");
- }
- */
- }
- return ;
- }
LRJ的更多相关文章
- lrj计算几何模板
整理了一下大白书上的计算几何模板. #include <cstdio> #include <algorithm> #include <cmath> #include ...
- 倒水问题(Fill,UVA 10603) lrj白书 p202
看着lrj的代码自己敲了一遍,还没调试成功.... 有时间再进行完善 /* 状态start到各个状态u1,u2,u3..... 的倒水量分别为u1.dist,u2.dist,u3.dist.... * ...
- LRJ入门经典-0907万圣节的小L306
原题 LRJ入门经典-0907万圣节的小L306 难度级别:B: 运行时间限制:1000ms: 运行空间限制:256000KB: 代码长度限制:2000000B 试题描述 今天是万圣节,小L同学开始了 ...
- LRJ入门经典-0906最短公共父串305
原题 LRJ入门经典-0906最短公共父串305 难度级别:B: 运行时间限制:1000ms: 运行空间限制:256000KB: 代码长度限制:2000000B 试题描述 给定字符串A和字符串B,要求 ...
- LRJ入门经典-0905邮票和信封305
原题 LRJ入门经典-0905邮票和信封305 难度级别:B: 运行时间限制:1000ms: 运行空间限制:256000KB: 代码长度限制:2000000B 试题描述 假定一张信封最多贴5张邮票,如 ...
- LRJ入门经典-0903切蛋糕305
原题 LRJ入门经典-0903切蛋糕305 难度级别:B: 运行时间限制:1000ms: 运行空间限制:256000KB: 代码长度限制:2000000B 试题描述 如图所示有一个矩形蛋糕,上面划分成 ...
- // 62.是否有利润奖--lrj private boolean isProfitsAward; // 63.利润奖--lrj_price private String profitsAward;
// 62.是否有利润奖--lrj private boolean isProfitsAward; // 63.利润奖--lrj_price private String profitsAward; ...
- 第五章第二例题关于Vector(LRJ)
vector(动态数组)(粘) 一.概述 vector是C++标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库.vector是一个容器,它能够存放各种类型的对象,简 ...
- 第四章第四个例题(LRJ)
半年了,最起码的编程能力也谈不上啊,思维神马就更不不敢说了. 互联网时代讲求效率,走得慢和不走没有区别了. The war is on. (buhuidetiduokanduodajibianyehu ...
- 强连通分量(LRJ训练指南)
#include <iostream> #include <queue> #include <string> #include <cstdio> #in ...
随机推荐
- webpack--安装,使用
1. webpack 1.1. webpack介绍 webpack是一个资源的打包工具,目前最新为webpack3,可以将 .js, .css , image等静态资源当做一个模块来进行打包,那么每一 ...
- python进程间通信 queue pipe
python进程间通信 1 python提供了多种进程通信的方式,主要Queue和Pipe这两种方式,Queue用于多个进程间实现通信,Pipe是两个进程的通信 1.1 Queue有两个方法: Put ...
- 【风马一族_php】数组函数
原文来自:http://www.cnblogs.com/sows/p/6045699.html (博客园的)风马一族 侵犯版本,后果自负 2016-11-09 15:56:26 数组 函数 php- ...
- JavaScript--事件委托--冒泡
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 非接触型手掌静脉识别 PalmSecure™
静脉识别,使用近红外线读取静脉模式,与存储的静脉模式进行比较,进行本人识别的识别技术.富士通的PalmSecure™,利用该技术,由离开识别装置的位置,使用近红外线拍摄,与预先存储的静脉模式进行比较从 ...
- iOS开发 底层抛析运行循环—— RunLoop
http://blog.csdn.net/zc639143029/article/details/50012527 一.RunLoop基本概念 概念:程序的运行循环,通俗的来说就是跑圈. 1. 基本作 ...
- C#中App.config文件配置获取
最新的framework使用如下方法: using System.Configuration; ConfigurationManager.AppSettings["key"]; A ...
- 微信小程序错误——mpvue小程序:未找到 app.json 中的定义的 pages "pages/XXX/XXX" 对应的 WXML 文件
背景 在刚开始学习开发小程序时,使用微信开发工具在app.json建立页面,写好配置文件名称后,应该会自动生成页面的4个文件,结果没有生成文件,反而报错:mpvue小程序:未找到 app.json 中 ...
- 写一个nginx监控日志
下面的代码是实现一个nginx监控日志功能,是不是很好玩呢.
- 容器云平台使用体验:数人云Crane(续)
数人云在9月6日开通了容器管理面板Crane的试用活动,这是国内首个基于DockerSwarmKit的容器管理工具.它具有Docker原生编排功能,采用轻量化架构,帮助开发者快速搭建DevOps环境, ...