日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

A - Beautiful Matrix

發布時間:2023/12/2 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 A - Beautiful Matrix 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Problem description

You've got a?5?×?5?matrix, consisting of?24?zeroes and a single number one. Let's index the matrix rows by numbers from?1?to?5?from top to bottom, let's index the matrix columns by numbers from?1?to?5?from left to right. In one move, you are allowed to apply one of the two following transformations to the matrix:

  • Swap two neighboring matrix rows, that is, rows with indexes?i?and?i?+?1?for some integer?i?(1?≤?i?<?5).
  • Swap two neighboring matrix columns, that is, columns with indexes?j?and?j?+?1for some integer?j?(1?≤?j?<?5).
  • You think that a matrix looks?beautiful, if the single number one of the matrix is located in its middle (in the cell that is on the intersection of the third row and the third column). Count the minimum number of moves needed to make the matrix beautiful.

    Input

    The input consists of five lines, each line contains five integers: the?j-th integer in the?i-th line of the input represents the element of the matrix that is located on the intersection of the?i-th row and the?j-th column. It is guaranteed that the matrix consists of?24?zeroes and a single number one.

    Output

    Print a single integer — the minimum number of moves needed to make the matrix beautiful.

    Examples

    Input

    0 0 0 0 0
    0 0 0 0 1
    0 0 0 0 0
    0 0 0 0 0
    0 0 0 0 0

    Output

    3

    Input

    0 0 0 0 0
    0 0 0 0 0
    0 1 0 0 0
    0 0 0 0 0
    0 0 0 0 0

    Output

    1
    解題思路:題目的意思就是有一個5*5的矩陣,其中只有一個元素值為1,其余元素的值全部為0,從元素1這個位置移到中心點(2,2)(下標從0~4)的過程中,每次只能向上、下、左、右(其中一個方向)移動一步,求最小的移動步數。簡單模擬一下過程即可推出:設1元素的坐標為(row,col),則移動的最小步數為abs(row-2)+abs(col-2),簡單AC。
    AC代碼: 1 #include<bits/stdc++.h> 2 using namespace std; 3 int main(){ 4 int row,col,x; 5 for(int i=0;i<5;++i){ 6 for(int j=0;j<5;++j){ 7 cin>>x; 8 if(x){row=i;col=j;} 9 } 10 } 11 cout<<abs(row-2)+abs(col-2)<<endl; 12 return 0; 13 }

    轉載于:https://www.cnblogs.com/acgoto/p/9122996.html

    總結

    以上是生活随笔為你收集整理的A - Beautiful Matrix的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。