模拟
SYaoJun
这个作者很懒,什么都没留下…
展开
-
顺时针打印矩阵
题目类型:数组 模拟注意:cnt来统计,而且在四个操作中也要加,不然会出错。class Printer {public: vector<int> clockwisePrint(vector<vector<int> > matrix, int m, int n) { if(!m) return {}; if(m==1...原创 2020-03-29 13:00:23 · 109 阅读 · 0 评论 -
54. 螺旋矩阵
题目类型:数组 模拟难度:中等class Solution {public: vector<int> spiralOrder(vector<vector<int>>& matrix) { int m = matrix.size(); if(!m) return {}; int n = mat...原创 2020-03-29 12:54:59 · 131 阅读 · 0 评论 -
1056. 易混淆数
题目类型:模拟难度:简单题意:旋转180度后判断是否产生了一个有效的新数,180度不仅从数字本身,串也要反转。class Solution {public: bool confusingNumber(int N) { int a[10]={0}, b[10]={0}; int ord = 0, k = 0, nw = 0; do{...原创 2020-03-27 08:50:09 · 136 阅读 · 0 评论 -
7-18 银行业务队列简单模拟 (25 分)
简单模拟#include <iostream>#include <queue>using namespace std;int main(){ int n, x; queue<int> A, B; cin>>n; for(int i = 0; i < n; i++){ cin>>x; if(x&1) A...原创 2019-10-24 14:12:25 · 884 阅读 · 0 评论 -
1027 打印沙漏 (20 分)
打印沙漏以后再也不用为这种题恐惧了,真的恶习!只需要输出沙漏前半部分的空格,后半部分没必要。找到规律,先把空格打印完,然后打印字符,最后打印换行符。#include<cstdio>#include<cmath>int main(){ int n; char c; scanf("%d %c",&n,&c); int r = sqrt((n+...原创 2019-07-15 16:03:16 · 145 阅读 · 0 评论 -
L1-043 阅览室 (20 分)
题目链接解题思路代码写得有点繁杂,其他思路很简单,就是用两个数组,一个用来标记是否满足借还规则,另一个数组用来记录借出的时刻,然后还回来时,统计时长。注意1.可能借和还不一定完全符合规则,比如一本书有两次借,一次还,我们应该考虑的是最近一次的借,而不是最早的那一次借,不然第三个测试点会出问题。2.精度问题,需要加0.5之后再取整。3.当借阅数量为0时,需要特殊处理,直接用时长除以次数会...原创 2019-07-16 11:27:09 · 418 阅读 · 0 评论 -
1031 查验身份证 (15 分)
查看原题目请点我 解题思路:这里先要检查是否前17位都为数字,然后将前17位的数字加权对11取模,然后进行明码翻译,如果对应正确就是合格的身份证号码。#include<cstdio>#include<cstring>int weight[]={7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};int M[]={1,0,11,9,8,7...原创 2018-03-14 18:27:41 · 326 阅读 · 0 评论 -
L2-014 列车调度 (25 分)
18/25两个测试点超时我是直接模拟的虽然看了很多大佬的代码很简洁,但是我真的理解不了。心态炸裂#include <iostream>#include <algorithm>#include <string>#include <vector>#include <deque>#include <cstring>...原创 2019-09-07 09:49:21 · 404 阅读 · 0 评论 -
xxx定律【浙江大学】
牛客网题目链接#include <iostream>#include <vector>#include <string>#include <cmath>#include <algorithm>#include <queue>using namespace std;int main(){ int n; whi...原创 2019-10-01 21:10:25 · 105 阅读 · 0 评论 -
7-2 矩阵行平移 (20 分)
奇数行的数字往右边移动1~k之间的位数。这里的1~k依次循环,仔细分析样例。然后就是模拟。#include <iostream>#include <vector>#include <string>#include <cmath>#include <algorithm>#include <queue>#incl...原创 2019-10-04 22:16:27 · 669 阅读 · 0 评论 -
L1-050 倒数第N个字符串 (15 分)
解题思路虽然是道简单题,但是我觉得还是需要动一下脑筋才能做出来的,这里就不过多讲解思路了,看代码都能看懂的。#include<cstdio>#include<cmath>#include<iostream>using namespace std;int main(){ int n,m; cin>>n>>m; int ar...原创 2019-07-14 18:43:13 · 878 阅读 · 0 评论 -
POJ1007 DNA Sorting
题目简单的模拟。逆序对正向和反向数是相同的。解法1使用三个变量来记录前面位置出现过的字母次数。#include<cstdio>#include<cstring>#include<string>#include<map>#include<cctype>#include<iostream>#include<...原创 2019-05-14 08:29:16 · 134 阅读 · 0 评论 -
1042 Shuffling Machine (20 分)
调换顺序,注意手动演示一下过程。关键步骤:arr[sh[i]] = oldArr[i]为了避免对arr的覆盖,所以需要另定一个数组,用来保存arr的数据#include<cstdio>#include<vector>#include<cstring>#include<string>#include<iostream>us...原创 2019-02-16 19:47:12 · 193 阅读 · 0 评论 -
1002 写出这个数 (20 分)
查看原题目请点我 解题思路:主要是字符串的处理,首先求和,然后把求得的数字转化为数字,再用对应的数字映射导对应的拼音进行输出。#include<cstdio>#include<cstring>char stt[][8]={"ling","yi","er","san","si","wu","liu",&原创 2018-03-15 12:17:18 · 369 阅读 · 0 评论 -
1019 数字黑洞 (20 分)
查看原题目请点我解题思路:主要是将数字每位拆分后放在数组上,然后对数组进行升序和降序排列,再将数组中的数字计算出来,最后判断是6174或者0不再循环。还有一些细节方面的问题,如果写代码的时候注意到,就可以直接得满分,而不用纠结某个测试点一直过去,其实有时候就是习惯问题,比如声明变量时顺便赋值为0,还有数组每次计算完后要置0等等。#include&lt;cstdio&gt;#include...原创 2018-03-15 18:39:37 · 332 阅读 · 0 评论 -
1018 锤子剪刀布 (20 分)
解题思路 计算甲乙两者的胜负,相当于零和博弈,甲赢了乙肯定输了,所以记录甲就行了,乙的胜负与之相反。 注意 最后需要输出获胜次数最多的手势,我开始是用数组记录,将获胜的手势字符转变为ASCII对应的数值存在数组中,然后从数组中找出最大值,最后用char输出该结果,但~是~没通过。我觉得逻辑上没问题,后来我实在没办法了,只能搞了个map通过了。#include<cstdio>...原创 2018-03-16 12:03:26 · 184 阅读 · 0 评论 -
1014. 福尔摩斯的约会 (20)
查看原题目请点我这里 解题思路 需要注意的地方是第二个相同的字符,指的是字母A-N和0-9的字符,另外输出的时候需要用0填充不足两位的情况。 字符串数组可以用来存星期的字符串。 心态崩了 这道题好坑呀,西湖的水,我的泪~ 本来我在牛客网上顺利的通过了美滋滋,但是拿到PAT上一提交,发现总是有一个测试点过不去,哇,我的心态,炸穿了呀~ 第一个比对的不是所有的大写字母,而是A-G之间的大...原创 2018-03-16 19:49:28 · 132 阅读 · 0 评论 -
1071 小赌怡情 (15 分)
查看原题目请点这里 解题思路:模拟。#include<cstdio>int main(){ int T,K; scanf("%d%d",&T,&K); int n1,n2,b,t; for(int i=0;i<K;i++){ scanf("%d%d%d%d",&n1,&b,&t,&原创 2018-03-13 19:32:38 · 253 阅读 · 1 评论 -
1072 开学寄语 (20 分)
查看原题目请点这里 注意的地方:第三个测试点容易出错,题目说的是4位数字,所以输出的时候就必须是四位,即读入的是0721,不注意的话,会直接输出721,这样测试点就不通过。#include<cstdio>#include<cstring>const int maxn=10005;int main(){ int N,M,num,k; char ...原创 2018-03-13 20:15:57 · 342 阅读 · 0 评论 -
1074 宇宙无敌加法器 (20 分)
查看原题目请点我这里注意:如果一次都没有输出,最后要输出一个0。#include<cstdio>#include<cstring>void reverse(char s[]){ int len=strlen(s); for(int i=0;i<len/2;i++){ int tmp=s[i]; s...原创 2018-03-13 20:56:17 · 255 阅读 · 0 评论 -
1088 三人行 (20 分)
参考柳神代码看了柳神的代码,我感觉自己像个弱智一样,题目都读不懂。没想到丙还能是浮点数,真是日了狗了。我一直以为三人行,其中有一个人是自己。#include<bits/stdc++.h>using namespace std;int m,x,y;void print(double t){ if(m == t) printf(" Ping"); else if(m<...原创 2019-01-27 20:45:11 · 153 阅读 · 0 评论 -
1089 狼人杀-简单版 (20 分)
模拟#include<bits/stdc++.h>using namespace std;int arr[105];int main(){ int n; scanf("%d",&n); for(int i=1;i<=n;i++){ scanf("%d",&arr[i]); } int flag=0; for(int i=1;i<=n;...原创 2019-01-28 23:05:08 · 331 阅读 · 0 评论 -
1060 爱丁顿数 (25 分)
查看原题目请点我 解题思路:我记得我当时上机考这道题的时候特别幸运,因为我根本就没怎么读懂题就拿了24分,只有最后一个测试点那一分没拿到。#include<cstdio>#include<algorithm>using namespace std;const int maxn=100005;int arr[maxn]={0};bool cmp(int a...原创 2018-03-15 12:03:17 · 194 阅读 · 0 评论