洛谷 P2067 Cytus-Holyknight

题目链接

需要注意的是石子可能会落在坐标轴上。如果单纯只用两个连续的 1 来识别坐标轴会出现问题。

解决方法是在 get 石子的坐标之后,将有两个 1 所在的那行或者那列全部置为 1 。简单粗暴嘻嘻。

需要分行和列分别设置两遍 1 。

题目中涉及到两个坐标系。一个是用二维数组输入数据时自然存在的 ij 坐标系,一个是由输入的 1 决定的XY 坐标系,画图可以清楚看出他们之间的关系。

将 ij 坐标系转换成 XY 坐标系后就可以根据一次函数解析式求出系数和常量啦。

最后还需要考虑函数图像平行坐标轴的情况,以及函数图像过原点的情况,用 if 语句做个判断就可以啦。

最最后,输出控制四位小数,C语言对 float 型的就是 %.4f 。 double 型的就是 %.4lf 。

#include<bits/stdc++.h>
using namespace std;// 用两个连续的 1 来判断 X 和 Y 轴
// 如过有石子落在坐标轴上会出现问题,所以,用两遍循环,取消石子的影响 int main(){char map[17][17];int i1 = 0,i2 = 0,j1 = 0,j2 = 0;//两个 x 的横纵坐标 ij 坐标体系double x1 = 0,x2 = 0,y1 = 0,y2 = 0; int flag = 0; int X,Y;//横坐标和纵坐标int n;cin>>n;   int k = 0;for(int i=1;i<=n;i++){for(int j=1;j<=n;j++){cin>>map[i][j];if(map[i][j]=='x'){if(flag == 0){//第一个点 i1 = i;j1 = j; flag = 1;}else{i2 = i;j2 = j;}}//if(map[i][j] == '1' && map[i-1][j] == '1') Y = j;//纵坐标轴 //if(map[i][j] == '1' && map[i][j-1] == '1') X = i;//橫坐标轴 }} // 用两个连续的 1 来判断 X 和 Y 轴// 如果有石子落在坐标轴上会出现问题,所以,用两遍循环,取消石子的影响 for(int i=1;i<=n;i++){int fflag = 0; for(int j=1;j<=n;j++){//如果有一行有两个  1 就把这一行全变成 1 if(map[i][j]=='1') fflag++;if(fflag==2){for(k=1;k<=n;k++){map[i][k] = '1';}}}} for(int i=1;i<=n;i++){int fflag = 0; for(int j=1;j<=n;j++){//如果有一列有两个  1 就把这一列全变成 1 if(map[j][i]=='1') fflag++;if(fflag==2){for(k=1;k<=n;k++){map[k][i] = '1';}}}} for(int i=1;i<=n;i++){for(int j=1;j<=n;j++){if(map[i][j] == '1' && map[i-1][j] == '1') Y = j;//纵坐标轴 if(map[i][j] == '1' && map[i][j-1] == '1') X = i;//橫坐标轴 }}x1 = j1 - Y;//根据 ij 坐标系 和 XY 坐标系的关系,求出两个点在 XY 坐标系中的坐标 x2 = j2 - Y;//画图理解 y1 = X - i1;y2 = X - i2;double b,a;//函数的系数 if(y1 == y2){//图像平行于 X 轴 printf("y=%.4lf\n",y1);}else if(x1 == x2){//图像平行于 Y 轴 printf("x=%.4lf\n",x1);}else{double a = (y2 - y1) / (x2 - x1);double b = y1 - a * x1;if(b>0){printf("y=%.4lfx+%.4lf\n",a,b);} else if(b == 0){printf("y=%.4lfx\n",a);}else{printf("y=%.4lfx%.4lf\n",a,b);}}return 0;
} 

洛谷 P2067 Cytus-Holyknight相关推荐

  1. 洛谷——P2067 Cytus-Holyknight

    P2067 Cytus-Holyknight 题目背景 本人最初作 以此纪念伟大的ios.安卓.PSV平台音乐游戏<cytus> 后续将不断更新. -------------Chapter ...

  2. 洛谷P3391文艺平衡树(Splay)

    题目传送门 转载自https://www.cnblogs.com/yousiki/p/6147455.html,转载请注明出处 经典引文 空间效率:O(n) 时间效率:O(log n)插入.查找.删除 ...

  3. 洛谷P1074 靶形数独 [搜索]

    题目传送门 题目描述 小城和小华都是热爱数学的好学生,最近,他们不约而同地迷上了数独游戏,好胜的他 们想用数独来一比高低.但普通的数独对他们来说都过于简单了,于是他们向 Z 博士请教, Z 博士拿出了 ...

  4. 洛谷日报 2020年3月前索引

    2020 2019 2018 感觉洛谷日报全是干货!!!先记下来再说 2020 年洛谷日报索引 3 月 #260[dove]Church 编码(和 Lambda 演算) https://www.luo ...

  5. 洛谷日报索引(2020、2019、2018)

    历年洛谷日报索引 2020 2019 2018 感觉洛谷日报全是干货!!!先记下来再说 2020 年洛谷日报索引 3 月 #260[dove]Church 编码(和 Lambda 演算) https: ...

  6. [转载]洛谷日报索引

    2019年 6月 #183[朝田诗乃]你以为莫队只能离线?莫队的在线化改造 https://shoko.blog.luogu.org/moqueue #182[Heartlessly ]常用距离算法详 ...

  7. 洛谷P3758/BZOJ4887 [TJOI2017] 可乐 [矩阵快速幂]

    洛谷传送门,BZOJ传送门 可乐 Time Limit: 10 Sec  Memory Limit: 64 MB Submit: 299  Solved: 207 Description 加里敦星球的 ...

  8. 洛谷-题解 P2672 【推销员】

    独门思路!链表加优先队列! 这题一望,贪心是跑不掉了,但是我贪心并不好,所以想到了一个复杂一些但思路更保稳的做法 思路: 1 因为是离线操作,所以我们可以倒着求,先求x=n的情况,因为那样直接就知道了 ...

  9. 洛谷 P1142 轰炸

    洛谷 P1142 轰炸 题目描述 "我该怎么办?"飞行员klux向你求助. 事实上,klux面对的是一个很简单的问题,但是他实在太菜了. klux要想轰炸某个区域内的一些地方,它们 ...

最新文章

  1. T-SQL: 17 个与日期时间相关的自定义函数(UDF),周日作为周的最后一天,均不受 @@DateFirst、语言版本影响...
  2. matplotlib画图中文显示问题
  3. 构建多域名Exchange 2010邮件系统
  4. Hystrix断路器(五)
  5. 两点坐标间距离的算法以及验证【转】
  6. oracle数据库zenm怎么创建连接,oracle10g中怎么创建数据库连接
  7. 【复赛前排分享(三)】高手上场第一招,这些赛事技巧你掌握了吗?
  8. 从零开始设计RISC-V处理器——指令系统
  9. iOS 【真机调试-免证书-开发者信任问题】
  10. 外贸企业邮箱注册申请,阿里qq腾讯邮箱对比选择
  11. 四年级计算机考试反思,四年级期中考试总结反思三篇
  12. 【Flutter】Flutter 页面跳转 ( 路由 Route | 导航器 Navigator | 页面关闭 )
  13. 完美解决Win10重命名文件导致资源管理器卡死
  14. 1007. Maximum Subsequence Sum (25)-PAT甲级真题(最大连续子序列和、动态规划dp)
  15. ubuntu14.04搜狗输入法中文无法切换英文
  16. Eclipse15:Filter
  17. microbit和python_Microbit MicroPython 介绍
  18. SQL Server 利用WITH AS递归获取层级关系数据
  19. 2019最新Android常用开源库总结(附带github链接)
  20. 强化学习入门级实践教学

热门文章

  1. Jmeter+Ant+Jenkins自动化接口测试框架
  2. Android httpclient如何让客户端提示服务器close连接
  3. 【JVM笔记】JVM发展历程—VM(Java虚拟机)介绍
  4. 商界大佬们惊人一致的六大成功密码!
  5. python爬网页统计数据_Python爬取阿拉丁统计信息过程图解
  6. msfconsole之制作windows木马并成功获取shell
  7. 真的来了:ArcGIS Pro2.5可以安装使用了-安装教程(附安装包下载)
  8. WPF真入门教程22--样式应用
  9. 格雷码与普通二进制码的相互转换——学习笔记
  10. 智能建筑中高低压配电设备集成监控和管理系统应用分析-李亚俊