算法练习
zoey要早起
这个作者很懒,什么都没留下…
展开
-
【算法练习】排序
B1015/A1062德才论结构体排序A1012The Best Rank结构体排序A1028List Sorting(列表排序)结构体排序A1016Phone Bills难(搁置)文章目录B1015/A1062.德才论输入格式输出格式输入样例输出样例思路代码A1012.The Best Rank输入样例输出样例代码A1028.List Sorting(列表排序)输入样例输出样例代码A1016.Phone Bills输入样例B1015...原创 2021-03-26 17:18:20 · 616 阅读 · 0 评论 -
【算法练习】A1077.公共后缀
思路我认为本题的难点在于:如何在多个字符串中,找到一组相同的字符将所有字符串倒置,这样可以从首位进行对比,更加方便在每次读入一个字符串的时候,记录下这些字符串里最短的字符串的长度len_minfor循环,循环次数不超过len_min,每次取出第一个字符串中的第i个字符,然后判断其他的的字符串的第i个字符是否与之相等代码#include<bits/stdc++.h>using namespace std;int main(){ int n, len_min = 256;原创 2021-03-13 19:54:56 · 169 阅读 · 0 评论 -
【算法练习】A1035.Password
代码#include<bits/stdc++.h>using namespace std;struct Acount{ char id[20]; char pwd[20]; bool change = false; // 最初 所有的密码都不需要修改 }person[1001]; // 设定一个结构体数组 int main(){ int n, cnt = 0; // cnt:需要修改的pwd的个数 scanf("%d", &n); bool flag =原创 2021-03-13 17:06:09 · 146 阅读 · 0 评论 -
【算法练习】A1001.A+B Format(A+B格式化)
给出两个整数 a, b (不超过 10^9),求 a + b 的值,并按照 XXX,XXX,XXX,XXX 的格式输出。输入样例-1000000 9输出样例-999,991代码#include<bits/stdc++.h>using namespace std;const int N = 12;int Judge(char s[]){ int len = strlen(s); for(int i = 0; i < len; i++){ if(s[0] .原创 2021-03-13 15:28:41 · 141 阅读 · 0 评论 -
【算法练习】B1048.数字加密
题目描述本题要求实现一种数字加密方法。首先固定一个加密用正整数 A,对任一正整数 B,将其每 1 位数字与 A 的对应位置上的数字进行以下运算:对奇数位,对应位的数字相加后对 13 取余——这里用 J 代表 10、Q 代表 11、K 代表 12;对偶数位,用 B 的数字减去 A 的数字,若结果为负数,则再加 10。这里令个位为第 1 位。输入格式输入在一行中依次给出 A 和 B,均为不超过 100 位的正整数,其间以空格分隔。输出格式在一行中输出加密后的结果。输入样例1234567 36878原创 2021-03-13 10:38:21 · 160 阅读 · 0 评论 -
【算法】B1024/A1073.科学计数法
输入格式每个输入包含 1 个测试用例,即一个以科学计数法表示的实数 A。该数字的存储长度不超过 9999 字节,且其指数的绝对值不超过 9999。输出格式对每个测试用例,在一行中按普通数字表示法输出 A,并保证所有有效位都被保留,包括末尾的 0。输入样例 1+1.23400E-03输出样例 10.00123400输入样例 2-1.2E+10输出样例 2-12000000000代码#include<bits/stdc++.h>using namespace st原创 2021-03-13 08:57:23 · 213 阅读 · 0 评论 -
【算法练习】B1014/A1061.福尔摩斯的约会
输入样例3485djDkxh4hhGE2984akDfkkkkggEdsbs&hgsfdkd&Hyscvnm输出样例THU 14:04代码#include<bits/stdc++.h>using namespace std;char DAY[7][4] = {"MON", "TUE", "WED", "THU", "FRI", "SAT", "SUN"};//int HH[24] = {};int main(){ char str1[70], s原创 2021-03-12 21:03:00 · 167 阅读 · 0 评论 -
【算法练习】B1009.说反话
输入样例Hello World Here I Come输出样例Come I Here World Hello代码#include<bits/stdc++.h>using namespace std;int main(){ char str[90]; //最多80个单词或空格,不妨把数组设置得大一些 gets(str); int len = strlen(str); char ans[90][90]; int r = 0, h = 0; for(int i原创 2021-03-12 18:25:59 · 99 阅读 · 0 评论 -
【算法练习】B1002.写出这个数
输入样例1234567890987654321123456789输出样例yi san wu代码#include<bits/stdc++.h>using namespace std;char change[10][5] = {"ling", "yi", "er", "san", "si", "wu", "liu", "qi", "ba", "jiu"};int main(){ char str[105]; gets(str); int len = strlen(str原创 2021-03-12 16:40:24 · 104 阅读 · 0 评论 -
【算法练习】B1031.查验身份证
输入样例432012419880824005612010X19890101123411010819671130186637070419881216001X输出样例代码原创 2021-03-12 15:59:17 · 105 阅读 · 0 评论 -
【算法练习】B1021.个位数统计
思路由于该整数的位数可能会到1000位,不能用常规的进制转换法求得位数为了确定位数,可以:gets(str)获取字符串数组strlen(str)获取字符串长度(即位数)代码#include<bits/stdc++.h>using namespace std;int main(){ char str[1001]; gets(str); int len = strlen(str); int count[10] = {0}; // count[0] ~ count[原创 2021-03-11 21:07:02 · 108 阅读 · 0 评论 -
【算法练习】B1027.打印沙漏
代码#include<bits/stdc++.h>using namespace std;int main(){ int n, top; char c; scanf("%d %c", &n, &c); top = floor(sqrt(2 * (1 + n)) - 1); if(top % 2 == 0) top --; int sub = n - ((1 + top) * ( 1 + top) / 2 - 1); // 输出倒三角 for(int原创 2021-03-11 20:31:20 · 100 阅读 · 0 评论 -
【算法练习】B1022.A+B的D进制转换
代码#include<bits/stdc++.h>using namespace std;int main(){ int a, b, d; scanf("%d %d %d", &a, &b, &d); int sum = a + b; // 转换进制 int ans[31] = {0}, num = 0; do { ans[num ++] = sum % d; // 每次取余 sum /= d; } while(sum != 0原创 2021-03-11 20:31:10 · 112 阅读 · 0 评论 -
【算法练习】B1037.在霍格沃兹找零钱
代码#include<bits/stdc++.h>using namespace std;int main(){ int G1, S1, K1, G2, S2, K2; scanf("%d.%d.%d %d.%d.%d", &G1, &S1, &K1, &G2, &S2, &K2); int price = G1 * 17 * 29 + S1 * 29 + K1; int money = G2 * 17 *原创 2021-03-11 20:30:58 · 98 阅读 · 0 评论 -
【算法练习】A1019.一般回文数
代码#include<bits/stdc++.h>using namespace std;bool Judge(int ans[], int num){ for(int i = 0; i < num / 2; i++) { // 判断是否是回文,只需要判断 第i位 第num-i-i位 是否相等 if(ans[i] != ans[num - 1 -i]) return false; // 只要有一次不同,就不是回文 } return true;}int mai原创 2021-03-11 20:30:41 · 79 阅读 · 0 评论 -
【算法练习】A1046.最短距离
这项任务非常简单:给定一条高速公路上的N个出口,形成一个简单的循环,你应该说出任何一对出口之间的最短距离。每个输入文件包含一个测试用例。对于每种情况,第一行包含一个整数N(in[3,1 0’D),后跟N个整数距离D 2。DN,其中D;是第i个出口和(i+1)个出口之间的距离,DN是第N个出口和(i+1)个出口之间的距离。一行中的所有数字都用空格隔开。第二行给出一个正整数M(10),后跟M行,每行包含一对出口编号,前提是出口编号从1到N。保证总往返距离不超过10’。对于每个测试用例,以M行打印结果,每行包原创 2021-03-10 19:28:49 · 348 阅读 · 1 评论 -
【算法练习】A1042.洗牌问题
文章目录题目描述输入用例输出用例代码题目描述输入用例236 52 37 38 3 39 40 53 54 41 11 12 13 42 43 44 2 4 23 24 25 26 27 6 7 8 48 49 50 51 9 10 14 15 16 5 17 18 19 1 20 21 22 28 29 30 31 32 33 34 35 45 46 47输出用例S7 C11 C10 C12 S1 H7 H8 H9 D8 D9 S11 S12 S13 D10 D11 D12 S3 S4 S6原创 2021-03-09 17:26:59 · 426 阅读 · 0 评论 -
【算法练习】最短路径
Dijkstra算法输入一个3*3的矩阵,输出结果为2#include<bits/stdc++.h> using std::cout;using std::cin;using std::endl;const int N = 10001;const int M = 10001;int a[N],size; //当前图中的边数 ,首先初始化为0int n, m;int dis[N]; //当前最短路长 bool vis[N]; //是否被标记,最好使用布尔类型 st原创 2020-12-18 20:25:21 · 184 阅读 · 1 评论 -
【算法练习】图和树
函数 memset(a, 0, sizeof(a))初始化数组元素,全部置为0或-1int G[3][4];memset(G,0,sizeof(G));for(int i=0; i<3; i++){ for(int j=0; j<4; j++){ cout << G[i][j] ; }}朋友问题对于第i个人,首先我们需要用一个数sum来记录真正的朋友的个数,然后依次枚举每个人为j,只有当G[i][j] = 1#include<bits/stdc++..原创 2020-12-04 21:48:01 · 125 阅读 · 0 评论