TypechoJoeTheme

Yuuuuuu

搜索到 12 篇与 的结果
2017-09-15

【CCF】模板生成系统

【CCF】模板生成系统
问题描述  有一类节日的日期并不是固定的,而是以“a月的第b个星期c”的形式定下来的,比如说母亲节就定为每年的五月的第二个星期日。  现在,给你a,b,c和y1, y2(1850 ≤ y1, y2 ≤ 2050),希望你输出从公元y1年到公元y2年间的每年的a月的第b个星期c的日期。  提示:关于闰年的规则:年份是400的整数倍时是闰年,否则年份是4的倍数并且不是100的倍数时是闰年,其他年份都不是闰年。例如1900年就不是闰年,而2000年是闰年。  为了方便你推算,已知1850年1月1日是星期二。输入格式  输入包含恰好一行,有五个整数a, b, c, y1, y2。其中c=1, 2, ……, 6, 7分别表示星期一、二、……、六、日。输出格式  对于y1和y2之间的每一个年份,包括y1和y2,按照年份从小到大的顺序输出一行。  如果该年的a月第b个星期c确实存在,则以"yyyy/mm/dd"的格式输出,即输出四位数的年份,两位数的月份,两位数的日期,中间用斜杠“/”分隔,位数不足时前补零。  如果该年的a月第b个星期c并不存在,则输出"none"(不包含双引号)。样例输入5...
2017年09月15日
1,066 阅读
0 评论
2017-09-11

【CCF】最优配餐

【CCF】最优配餐
问题描述  栋栋最近开了一家餐饮连锁店,提供外卖服务。随着连锁店越来越多,怎么合理的给客户送餐成为了一个急需解决的问题。  栋栋的连锁店所在的区域可以看成是一个n×n的方格图(如下图所示),方格的格点上的位置上可能包含栋栋的分店(绿色标注)或者客户(蓝色标注),有一些格点是不能经过的(红色标注)。  方格图中的线表示可以行走的道路,相邻两个格点的距离为1。栋栋要送餐必须走可以行走的道路,而且不能经过红色标注的点。  送餐的主要成本体现在路上所花的时间,每一份餐每走一个单位的距离需要花费1块钱。每个客户的需求都可以由栋栋的任意分店配送,每个分店没有配送总量的限制。  现在你得到了栋栋的客户的需求,请问在最优的送餐方式下,送这些餐需要花费多大的成本。输入格式  输入的第一行包含四个整数n, m, k, d,分别表示方格图的大小、栋栋的分店数量、客户的数量,以及不能经过的点的数量。  接下来m行,每行两个整数xi, yi,表示栋栋的一个分店在方格图中的横坐标和纵坐标。  接下来k行,每行三个整数xi, yi, ci,分别表示每个客户在方格图中的横坐标、纵坐标和订餐的量。(注意,可能有多...
2017年09月11日
1,111 阅读
0 评论
2017-09-10

【CCF】最大的矩形

【CCF】最大的矩形
问题描述  在横轴上放了n个相邻的矩形,每个矩形的宽度是1,而第i(1 ≤ i ≤ n)个矩形的高度是hi。这n个矩形构成了一个直方图。例如,下图中六个矩形的高度就分别是3, 1, 6, 5, 2, 3。  请找出能放在给定直方图里面积最大的矩形,它的边要与坐标轴平行。对于上面给出的例子,最大矩形如下图所示的阴影部分,面积是10。输入格式  第一行包含一个整数n,即矩形的数量(1 ≤ n ≤ 1000)。  第二行包含n 个整数h1, h2, … , hn,相邻的数之间由空格分隔。(1 ≤ hi ≤ 10000)。hi是第i个矩形的高度。输出格式  输出一行,包含一个整数,即给定直方图内的最大矩形的面积。样例输入63 1 6 5 2 3样例输出10分析遇到这个题目第一反应就是暴力破解,看到数据范围并不是很大[1,10000],所以就用暴力破解解决了。另外一种解法是使用STL的包装类vector,可以实现动态数据存储,不受限于数据的多少,不过我没有实现,另一种解法详细步骤在这里暴力破解代码#include <bits/stdc++.h> using namespace...
2017年09月10日
1,200 阅读
0 评论
2017-09-10

C++中字符串转数字

C++中字符串转数字
CCF认证里有一题需要用到字符串转数字,于是我定义了一个string类型的变量,然后当做Char型数组用。但是在转换到整型数字时,发现了一点点问题。先看代码#include <bits/stdc++.h> using namespace std; int main(){ string s; cin>>s; int sum=0,j=1; //注意这个循环里 for(int i=0; i<(int)s.length()-1; i++){ sum += (s[i] - '0') * j++; //这里为什么不是sum += s[i] * j++,而是需要先减去'0'。否则结果偏大 } cout<<sum<<endl; return 0; }在这里字符(串)转int整型时需要先减去'0',而且int整型转字符(串)时同样也需要在后面加上一个'0',如下 char c; c = 10 % 3; c = c + '0'; //注释...
2017年09月10日
1,168 阅读
0 评论
2017-09-10

C++中单引号''和双引号""的区别

C++中单引号''和双引号""的区别
"a"和'a'的区别,前者是字符串,后者是字符。实际上,"a"在内存中一般占2个字节(不是说字符串长度,是占用内存。注意说是一般占2字节,有特殊情况),"a\0",以'\0'结尾。而'a'是一个单字符。 当然字符串可以是"abcde"这样的,'abcde'这样就是错误的。。。另外在C++中sizeof('a')=1,它是占一个字节,sizeof("a")=2,它后面还有一个\0结束符;而在C语言中,sizeof('a')=4(字符在C语言中是用int型数据存储的)。
2017年09月10日
1,230 阅读
0 评论
2017-09-08

C/C++如何声明一个长度超过1000000(一百万)的数组

C/C++如何声明一个长度超过1000000(一百万)的数组
当我在Dev c++里写了类似这样的函数#include <bits/stdc++.h> using namespace std; int main(){ int t[1000][1000]={0}; //长度100万 cout<<t[1]; return 0; }编译器直接崩溃,从头开始一句一句添加,排除了很久,一度怀疑人生。最后终于发现问题在于中间的int t[1000][1000]={0};那一句。由于这个数组申明在函数内部,属于局部变量,存放在了栈上,但是数组占用的内存大小:1000000=1000 x 1000 然后乘以int型数据长度1000 x 1000 x 4byte 约等于4M,而栈的默认内存空间为1M左右,所以会导致内存溢出所以,如果要解决这个问题,可以将数组申明在全局存储区或堆上即可第一种:申明为全局变量#include <bits/stdc++.h> using namespace std; int t[1000][1000]={0}; //申明为全局变量 int main(){ ...
2017年09月08日
1,905 阅读
0 评论
2017-09-06

【CCF】工资计算

【CCF】工资计算
问题描述  小明的公司每个月给小明发工资,而小明拿到的工资为交完个人所得税之后的工资。假设他一个月的税前工资(扣除五险一金后、未扣税前的工资)为S元,则他应交的个人所得税按如下公式计算:  1) 个人所得税起征点为3500元,若S不超过3500,则不交税,3500元以上的部分才计算个人所得税,令A=S-3500元;  2) A中不超过1500元的部分,税率3%;  3) A中超过1500元未超过4500元的部分,税率10%;  4) A中超过4500元未超过9000元的部分,税率20%;  5) A中超过9000元未超过35000元的部分,税率25%;  6) A中超过35000元未超过55000元的部分,税率30%;  7) A中超过55000元未超过80000元的部分,税率35%;  8) A中超过80000元的部分,税率45%;  例如,如果小明的税前工资为10000元,则A=10000-3500=6500元,其中不超过1500元部分应缴税1500×3%=45元,超过1500元不超过4500元部分应缴税(4500-1500)×10%=300元,超过4500元部分应缴税(65...
2017年09月06日
1,119 阅读
0 评论
2017-09-06

【CCF】数字排序

【CCF】数字排序
问题描述  给定n个整数,请统计出每个整数出现的次数,按出现次数从多到少的顺序输出。输入格式  输入的第一行包含一个整数n,表示给定数字的个数。  第二行包含n个整数,相邻的整数之间用一个空格分隔,表示所给定的整数。输出格式  输出多行,每行包含两个整数,分别表示一个给定的整数和它出现的次数。按出现次数递减的顺序输出。如果两个整数出现的次数一样多,则先输出值较小的,然后输出值较大的。样例输入125 2 3 3 1 3 4 2 5 2 3 5样例输出3 42 35 31 14 1评测用例规模与约定  1 ≤ n ≤ 1000,给出的数都是不超过1000的非负整数。#include <bits/stdc++.h> using namespace std; int num[1001]; int a[1001][2]={0}; void swap(int a[2],int b[2]){ int temp; for(int i=0;i<=1;i++){ temp = a[i]; a[i] = b[i]; ...
2017年09月06日
1,171 阅读
0 评论