螺旋矩陣(NOIP2014)
大致思路:
O(1),手動計算,數學題,分四個邊算出公式,代值即可。
程式碼如下:
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int n,x,y;
int main(){
scanf("%d%d%d",&n,&x,&y);
int ans;
if((x<=n/2)&&(y>=x&&y<=(n-x+1))){
ans=2*(x-1)*(2 *n-2*x+1)+n-(n-x+1-y);
}else if((x>n/2)&&(y>=(n-x+1)&&y<=x)){
ans=2*(x-1)*(2*n-2*x+1)+n+(n-x+1-y);
}else if((y<=n/2+1)&&(x>=y&&x<=(n-y+1))){
ans=(2*y-1)*(2*n-2*y)+2*n-2*y-(x-y-1);
}else{
ans=2*(n-y)*(2*y-1)+n+n-2*(n-y)-1-(y-x);
}
printf("%d" ,ans);
return 0;
}
相關推薦
螺旋矩陣(NOIP2014)
螺旋矩陣 大致思路: O(1),手動計算,數學題,分四個邊算出公式,代值即可。 程式碼如下: #include<cstdio> #include<cstring> #include<algorithm> using namespace st
LeetCode 59. Spiral Matrix II (螺旋矩陣之二)
question hms 參考 ger should rate spa 條件 日期 Given an integer n, generate a square matrix filled with elements from 1 to n2 in spiral order
子矩陣(NOIP2014 普及組第四題)
定義 clas 輸出格式 syntax 一個 begin 包含 amp cdn 描述 給出如下定義: 子矩陣:從一個矩陣當中選取某些行和某些列交叉位置所組成的新矩陣(保持行與 列的相對順序)被稱為原矩陣的一個子矩陣。 例如,下面左圖中選取第 2、4 行和第 2、4、5 列
題解:子矩陣(NOIP2014普及組T4)
+= out bsp tdi 又是 style 預處理 sizeof 表示 又是dp 暴力枚舉會T 考慮先固定一個變量,比如先枚舉行 然後預處理每行之間的絕對值,每列之間的絕對值 然後dp進行轉移 註意記錄選擇的行數 轉移記得加上新選的列的行之間的絕對值,即w[
1050 螺旋矩陣 (25 分)
本題要求將給定的 N 個正整數按非遞增的順序,填入“螺旋矩陣”。所謂“螺旋矩陣”,是指從左上角第 1 個格子開始,按順時針螺旋方向填充。要求矩陣的規模為 m 行 n 列,滿足條件:m×n 等於 N;m≥n;且 m−n 取所有可能值中的最小值。 輸入格式: 輸入在第 1 行中給出一
1050 螺旋矩陣(Vector實現二維陣列)
本題要求將給定的 N 個正整數按非遞增的順序,填入“螺旋矩陣”。所謂“螺旋矩陣”,是指從左上角第 1 個格子開始,按順時針螺旋方向填充。要求矩陣的規模為 m 行 n 列,滿足條件:m×n 等於 N;m≥n;且&nbs
圖解:輸入任意一個數值,列印一個螺旋矩陣(二維陣列)
更多演算法題請看本人部落格分類--演算法 public class Demo11 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); while(t
Leetcode演算法——54、螺旋矩陣(spiral matrix)
給定一個矩陣 m*n,返回所有元素的螺旋排列順序(從左上角開始,順時針旋轉,由外向內)。 示例1: Input: [ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 7, 8, 9 ] ] Output: [1,2,3,6,9,8,7,4,5] 示例2:
【LeetCode-演算法】59. 螺旋矩陣Ⅱ(Java實現)
題目 給定一個正整數 n,生成一個包含 1 到 n2 所有元素,且元素按順時針順序螺旋排列的正方形矩陣。 示例 輸入: 3 輸出: [ [ 1, 2, 3 ], [ 8, 9, 4 ], [ 7, 6, 5 ] ] 程式碼實現 class Solutio
LeetCode | Spiral Matrix II(螺旋矩陣填充資料)
Given an integer n, generate a square matrix filled with elements from 1 to n2 in spiral order. For example, Given n = 3, You should r
尋找道路(NOIP2014)神奇之題。。
printf als 是否 h+ 根據 ack ble false 我們 原題傳送門 這道題嘛。。 首先根據題目,我們要先知道哪些點能夠到達終點。(反向BFS) 然後我們再求最短路的途中,必須隨時判斷周圍的點是否被第一次BFS標記過。、 所以再來一次BFS。 數組記得清零,
飛揚的小鳥(NOIP2014)(喪病DP題)
發現 iostream pro blog bre nbsp name 小鳥 php 原題傳送門 剛開始我還以為這道題目非常的簡單。。 然後隨便打了一個DP,直接WA,被zxyer狠狠地D了一頓。 然後發現有好多細節。。 首先假如某橫坐標沒有管子,那麽l[x]=0;h[x]=
數組和矩陣(3)——Next Greater Element I
exp put and ann emp arr num .com esp https://leetcode.com/problems/next-greater-element-i/#/description You are given two arrays (withou
matlab矩陣(一)--如何控制矩陣中小數點的位數
數字 hex git png 它的 類型 整型 cal -s format:設置輸出格式對浮點性變量,缺省為format short.format並不影響matlab如何計算和存儲變量的值。對浮點型變量的計算,即單精度或雙精度,按合適的浮點精度進行,而不論變量是如何顯示的。
[luoguP2331] [SCOI2005]最大子矩陣(DP)
不同 clas 同時 復雜度 子矩陣 比較 int cnblogs i++ 傳送門 orz不會做。。。 一個好理解的做法(n^3*k): 分n=1和n=2兩種情況考慮。 n=1時,預處理出前綴和sum[]。 設f[i][j]為到達第i格,已經放了j個子
淺談協方差矩陣(轉)
但是 資料 sample 可能 tlab 原來 data- 一個 處理 原文地址:http://pinkyjie.com/2010/08/31/covariance/ 今天看論文的時候又看到了協方差矩陣這個破東西,以前看模式分類的時候就特困擾,沒想到現在還是搞不清楚,索性開
51Nod 1158 - 全是1的最大子矩陣(DP)
題目連結 http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1158 【題目描述】 給出1個M*N的矩陣M1,裡面的元素只有0或1,找出M1的一個子矩陣M2,M2中的元素只有1,並且M2的面積是最大的。輸出M2的面
Newcoder 110 D.矩陣(水~)
Description 給定兩個巨大的方塊矩陣 A A A和
紋理特徵分析的灰度共生矩陣(GLCM)
紋理分析是對影象灰度(濃淡)空間分佈模式的提取和分析。紋理分析在遙感影象、X射線照片、細胞影象判讀和處理方面有廣泛的應用。關於紋理,還沒有一個統一的數學模型。它起源於表徵紡織品表面性質的紋理概念,可以用來描述任何物質組成成分的排列情況,例如醫學上X 射線照片中的肺紋理、血管紋理、航天(或航空)地形照
Baxter抓取物塊——基於單應性矩陣(二)
之前寫了Baxter抓取物塊的視覺部分(見一),接下來說一說剩下的、比較簡單的模組。 機械臂末端位姿獲取: Baxter啟動後會將自身各座標系的變換關係釋出到 '/tf' 話題中,我們只需要使用TF包(具體參考wiki)即可。定義的cur