国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

藍(lán)橋杯之移動(dòng)距離

2019-11-10 23:28:39
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

移動(dòng)距離 X星球居民小區(qū)的樓房全是一樣的,并且按矩陣樣式排列。其樓房的編號(hào)為1,2,3… 當(dāng)排滿一行時(shí),從下一行相鄰的樓往反方向排號(hào)。 比如:當(dāng)小區(qū)排號(hào)寬度為6時(shí),開始情形如下: 1 2 3 4 5 6 12 11 10 9 8 7 13 14 15 ….. 我們的問題是:已知了兩個(gè)樓號(hào)m和n,需要求出它們之間的最短移動(dòng)距離(不能斜線方向移動(dòng))

輸入為3個(gè)整數(shù)w m n,空格分開,都在1到10000范圍內(nèi) w為排號(hào)寬度,m,n為待計(jì)算的樓號(hào)。 要求輸出一個(gè)整數(shù),表示m n 兩樓間最短移動(dòng)距離。

例如: 用戶輸入: 6 8 2 則,程序應(yīng)該輸出: 4

再例如: 用戶輸入: 4 7 20 則,程序應(yīng)該輸出: 5

資源約定: 峰值內(nèi)存消耗 < 256M CPU消耗 < 1000ms

請(qǐng)嚴(yán)格按要求輸出,不要畫蛇添足地打印類似:“請(qǐng)您輸入…” 的多余內(nèi)容。 所有代碼放在同一個(gè)源文件中,調(diào)試通過(guò)后,拷貝提交該源碼。 注意: main函數(shù)需要返回0 注意: 只使用ANSI C/ANSI C++ 標(biāo)準(zhǔn),不要調(diào)用依賴于編譯環(huán)境或操作系統(tǒng)的特殊函數(shù)。 注意: 所有依賴的函數(shù)必須明確地在源文件中 #include , 不能通過(guò)工程設(shè)置而省略常用頭文件。 提交時(shí),注意選擇所期望的編譯器類型。


對(duì)于這道題可以先找到豎直方向的距離,然后尋找水平的距離 代碼如下:

#include<iostream>#include<cmath>using namespace std;int f(int w,int n){ if(n%w==0) { return n/w-1; } return n/w;}int main(){ int w,m,n; cin >> w >> m >> n; int a;//豎直距離 int b;//水平距離 a = abs(f(w,m)-f(w,n)); if(a%2) { b = abs(m%w-(w-(n%w-1))); } else { b = abs(m%w-n%w); } //cout << a<< b << endl; cout << a+b; return 0;}//1 2 3 4//8 7 6 5//9 10 11 12//16 15 14 13//17 18 19 20
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 安阳市| 大同县| 冷水江市| 称多县| 明星| 外汇| 九寨沟县| 浑源县| 余干县| 海南省| 双桥区| 祁阳县| 毕节市| 乌恰县| 岗巴县| 漾濞| 嘉祥县| 霍州市| 滁州市| 涿鹿县| 洞口县| 潜山县| 平远县| 乌苏市| 江阴市| 三台县| 和政县| 古交市| 临邑县| 桃源县| 龙门县| 洛阳市| 焉耆| 乌兰察布市| 额敏县| 新乡市| 天等县| 渝中区| 思南县| 巍山| 台东县|