题目

小明 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(分)相关推荐

  1. PAT 乙级 1069 微博转发抽奖 (20 分)

    题目:PAT 乙级 1069 微博转发抽奖 (20 分) 经验总结: 可以建立一个set,用于存放中奖用户.若set中有此用户,代表此用户已中奖,奖品顺延. C++代码: #include<bi ...

  2. PAT乙级 | 1069 微博转发抽奖 (20分)

    小明 PAT 考了满分,高兴之余决定发起微博转发抽奖活动,从转发的网友中按顺序每隔 N 个人就发出一个红包.请你编写程序帮助他确定中奖名单. 输入格式: 输入第一行给出三个正整数 M(≤ 1000). ...

  3. PAT乙级 1069 微博转发抽奖 (20 分) C语言

    一.题目 二.源代码 #include<stdio.h> #include<string.h> struct User {char n[21]; }; int main() { ...

  4. PTA乙级 1069 微博转发抽奖——20分

    小明PAT考了满分,高兴之余决定发起微博转发抽奖活动,从转发的网友中按顺序每隔N个人就发出一个红包.请你编写程序帮助他确定中奖名单. 输入格式: 输入第一行给出三个正整数M(<= 1000).N ...

  5. 【PAT乙】1069 微博转发抽奖 (20分) set

    1069 微博转发抽奖 (20分) 小明 PAT 考了满分,高兴之余决定发起微博转发抽奖活动,从转发的网友中按顺序每隔 N 个人就发出一个红包.请你编写程序帮助他确定中奖名单. 输入格式: 输入第一行 ...

  6. 1069 微博转发抽奖 (20分)

    1069 微博转发抽奖 (20分) 小明 PAT 考了满分,高兴之余决定发起微博转发抽奖活动,从转发的网友中按顺序每隔 N 个人就发出一个红包.请你编写程序帮助他确定中奖名单. 输入格式: 输入第一行 ...

  7. 1069 微博转发抽奖 (20 分)

    1069 微博转发抽奖 (20 分) 小明 PAT 考了满分,高兴之余决定发起微博转发抽奖活动,从转发的网友中按顺序每隔 N 个人就发出一个红包.请你编写程序帮助他确定中奖名单. 输入格式: 输入第一 ...

  8. 1069 微博转发抽奖 (20 分)(算法分析+代码实现)

    1069 微博转发抽奖 (20 分) 题目链接 算法分析 用flag记录是否输出过获奖人名字 用map类型take记录某人是否拿走过奖品 用cnt记录间隔人数 然后按要求输出就好. 代码实现 #inc ...

  9. PAT 乙级 1069  微博转发抽奖

    1069 微博转发抽奖 (20 point(s)) 小明 PAT 考了满分,高兴之余决定发起微博转发抽奖活动,从转发的网友中按顺序每隔 N 个人就发出一个红包.请你编写程序帮助他确定中奖名单. 输入格 ...

最新文章

  1. 集成算法中的Bagging
  2. 《CCNP SWITCH 300-115学习指南》——导读
  3. js进阶 12-8 如何知道鼠标和键盘当前操作的是哪个键
  4. 牛客网专题 概率dp
  5. 【温故而知新-Javascript】窗口效果 (全屏显示窗口、定时关闭窗口)
  6. HDU 1556 Color the ball (数状数组)
  7. 利用ssh穿越多个跳板机最简单最高效的办法
  8. matplotlib 无法显示中文字体的解决方法
  9. vue 连接地址下载 PDF
  10. python解压.tar.gz
  11. 利用MsOffice将PPT转换成图片
  12. sqlserver transact-sql UPDATE tran 用事务处理更新语句
  13. 每日一个小技巧:1招教你提取伴奏怎么做
  14. 解锁iPhone密码锁?
  15. 绝缘栅型n沟道场管_N沟道增强型绝缘栅场效应管的工作原理
  16. faiss索引基于数量级和内存限制的选择
  17. Vanilla相关术语
  18. 吉林大学软件学院期末题答案(10-16级)
  19. 《viva la vida》 歌词
  20. 屏幕拾色器轻松获取网页颜色代码

热门文章

  1. 最近无聊做了一个新站玩玩(www.01zhc.cn)
  2. Python学习工具第五期 — 免费使用,无须激活下载安装Pycharm教程
  3. T48 原地实现矩阵的转置
  4. 经典语录-每日积累-03
  5. 赵小楼《天道》《遥远的救世主》深度解析(42)芮小丹的强势爱情攻势和客观逻辑
  6. 爬山虎采集实战-站长之家网站排行榜
  7. EasyUI的插入一行到某行和添加一行
  8. top-1 and top-5 error rates
  9. Java年薪30W+面试必问知识之《2020年面试宝典总纲》
  10. 云端数据丢失?谨记三大教训!|中机智库