PAT乙级1069微博转发抽奖 20(分)
题目
小明 PAT 考了满分,高兴之余决定发起微博转发抽奖活动,从转发的网友中按顺序每隔 N 个人就发出一个红包。请你编写程序帮助他确定中奖名单。
输入格式:
输入第一行给出三个正整数 M( ≤ \le ≤ 1000)、N 和 S,分别是转发的总量、小明决定的中奖间隔、以及第一位中奖者的序号(编号从 1 开始)。随后 M 行,顺序给出转发微博的网友的昵称(不超过 20 个字符、不包含空格回车的非空字符串)。
注意:可能有人转发多次,但不能中奖多次。所以如果处于当前中奖位置的网友已经中过奖,则跳过他顺次取下一位。
输出格式:
按照输入的顺序输出中奖名单,每个昵称占一行。如果没有人中奖,则输出 Keep going...
。
输入样例 1:
9 3 2
Imgonnawin!
PickMe
PickMeMeMeee
LookHere
Imgonnawin!
TryAgainAgain
TryAgainAgain
Imgonnawin!
TryAgainAgain
输出样例 1:
PickMe
Imgonnawin!
TryAgainAgain
输入样例 2:
2 3 5
Imgonnawin!
PickMe
输出样例 2:
Keep going...
代码
#include <vector>
#include <map>
using namespace std;
int m, n, tol;
vector<vector<int>> v;
int dir[8][2] = { {-1, -1}, {-1, 0}, {-1, 1}, {0, 1}, {1, 1}, {1, 0}, {1, -1}, {0, -1} };
bool judge(int i, int j) {for (int k = 0; k < 8; k++) {int tx = i + dir[k][0];int ty = j + dir[k][1];if (tx >= 0 && tx < n && ty >= 0 && ty < m && v[i][j] - v[tx][ty] >= 0 - tol && v[i][j] - v[tx][ty] <= tol) return false;}return true;
}
int main() {int cnt = 0, x = 0, y = 0;scanf("%d%d%d", &m, &n, &tol);v.resize(n, vector<int>(m));map<int, int> mapp;for (int i = 0; i < n; i++) {for (int j = 0; j < m; j++) {scanf("%d", &v[i][j]);mapp[v[i][j]]++;}}for (int i = 0; i < n; i++) {for (int j = 0; j < m; j++) {if (mapp[v[i][j]] == 1 && judge(i, j) == true) {cnt++;x = i + 1;y = j + 1;}}}if (cnt == 1)printf("(%d, %d): %d", y, x, v[x - 1][y - 1]);else if (cnt == 0)printf("Not Exist");elseprintf("Not Unique");return 0;
}
//á??a·¨
题目详情链接
PAT乙级1069微博转发抽奖 20(分)相关推荐
- PAT 乙级 1069 微博转发抽奖 (20 分)
题目:PAT 乙级 1069 微博转发抽奖 (20 分) 经验总结: 可以建立一个set,用于存放中奖用户.若set中有此用户,代表此用户已中奖,奖品顺延. C++代码: #include<bi ...
- PAT乙级 | 1069 微博转发抽奖 (20分)
小明 PAT 考了满分,高兴之余决定发起微博转发抽奖活动,从转发的网友中按顺序每隔 N 个人就发出一个红包.请你编写程序帮助他确定中奖名单. 输入格式: 输入第一行给出三个正整数 M(≤ 1000). ...
- PAT乙级 1069 微博转发抽奖 (20 分) C语言
一.题目 二.源代码 #include<stdio.h> #include<string.h> struct User {char n[21]; }; int main() { ...
- PTA乙级 1069 微博转发抽奖——20分
小明PAT考了满分,高兴之余决定发起微博转发抽奖活动,从转发的网友中按顺序每隔N个人就发出一个红包.请你编写程序帮助他确定中奖名单. 输入格式: 输入第一行给出三个正整数M(<= 1000).N ...
- 【PAT乙】1069 微博转发抽奖 (20分) set
1069 微博转发抽奖 (20分) 小明 PAT 考了满分,高兴之余决定发起微博转发抽奖活动,从转发的网友中按顺序每隔 N 个人就发出一个红包.请你编写程序帮助他确定中奖名单. 输入格式: 输入第一行 ...
- 1069 微博转发抽奖 (20分)
1069 微博转发抽奖 (20分) 小明 PAT 考了满分,高兴之余决定发起微博转发抽奖活动,从转发的网友中按顺序每隔 N 个人就发出一个红包.请你编写程序帮助他确定中奖名单. 输入格式: 输入第一行 ...
- 1069 微博转发抽奖 (20 分)
1069 微博转发抽奖 (20 分) 小明 PAT 考了满分,高兴之余决定发起微博转发抽奖活动,从转发的网友中按顺序每隔 N 个人就发出一个红包.请你编写程序帮助他确定中奖名单. 输入格式: 输入第一 ...
- 1069 微博转发抽奖 (20 分)(算法分析+代码实现)
1069 微博转发抽奖 (20 分) 题目链接 算法分析 用flag记录是否输出过获奖人名字 用map类型take记录某人是否拿走过奖品 用cnt记录间隔人数 然后按要求输出就好. 代码实现 #inc ...
- PAT 乙级 1069 微博转发抽奖
1069 微博转发抽奖 (20 point(s)) 小明 PAT 考了满分,高兴之余决定发起微博转发抽奖活动,从转发的网友中按顺序每隔 N 个人就发出一个红包.请你编写程序帮助他确定中奖名单. 输入格 ...
最新文章
- 集成算法中的Bagging
- 《CCNP SWITCH 300-115学习指南》——导读
- js进阶 12-8 如何知道鼠标和键盘当前操作的是哪个键
- 牛客网专题 概率dp
- 【温故而知新-Javascript】窗口效果 (全屏显示窗口、定时关闭窗口)
- HDU 1556 Color the ball (数状数组)
- 利用ssh穿越多个跳板机最简单最高效的办法
- matplotlib 无法显示中文字体的解决方法
- vue 连接地址下载 PDF
- python解压.tar.gz
- 利用MsOffice将PPT转换成图片
- sqlserver transact-sql UPDATE tran 用事务处理更新语句
- 每日一个小技巧:1招教你提取伴奏怎么做
- 解锁iPhone密码锁?
- 绝缘栅型n沟道场管_N沟道增强型绝缘栅场效应管的工作原理
- faiss索引基于数量级和内存限制的选择
- Vanilla相关术语
- 吉林大学软件学院期末题答案(10-16级)
- 《viva la vida》 歌词
- 屏幕拾色器轻松获取网页颜色代码