codevs 1160 蛇形矩阵x】的更多相关文章

1160 蛇形矩阵 传送门  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 白银 Silver 题解       题目描述 Description 小明玩一个数字游戏,取个n行n列数字矩阵(其中n为不超过100的奇数),数字的填补方法为:在矩阵中心从1开始以逆时针方向绕行,逐圈扩大,直到n行n列填满数字,请输出该n行n列正方形矩阵以及其的对角线数字之和. 输入描述 Input Description n(即n行n列) 输出描述 Output Description n+1…
题目描述 Description 小明玩一个数字游戏,取个n行n列数字矩阵(其中n为不超过100的奇数),数字的填补方法为:在矩阵中心从1开始以逆时针方向绕行,逐圈扩大,直到n行n列填满数字,请输出该n行n列正方形矩阵以及其的对角线数字之和. 输入描述 Input Description n(即n行n列) 输出描述 Output Description n+1行,n行为组成的矩阵,最后一行为对角线数字之和 样例输入 Sample Input 3 样例输出 Sample Output 5 4 36…
/*======================================================================== 1160 蛇形矩阵 题目描述 Description 小明玩一个数字游戏,取个n行n列数字矩阵(其中n为不超过100的奇数),数字的填补方法为:在矩阵中心从1开始以逆时针方向绕行,逐圈扩大,直到n行n列填满数字,请输出该n行n列正方形矩阵以及其的对角线数字之和. 输入描述 Input Description n(即n行n列) 输出描述 Output…
http://codevs.cn/problem/1160/ 题目描述 Description 小明玩一个数字游戏,取个n行n列数字矩阵(其中n为不超过100的奇数),数字的填补方法为:在矩阵中心从1开始以逆时针方向绕行,逐圈扩大,直到n行n列填满数字,请输出该n行n列正方形矩阵以及其的对角线数字之和. 输入描述 Input Description n(即n行n列) 输出描述 Output Description n+1行,n行为组成的矩阵,最后一行为对角线数字之和 样例输入 Sample In…
参加腾讯前端实习生笔试,真的是被虐了千百遍,除了一条js程序题,其他半点前端都没有,都是考算法,计算机原理,数据结构.下面贴上腾讯笔试最后三大条中的一条,实现一个蛇形矩阵的输出.蛇形矩阵的什么样这里我就不多说了. var lineCount=0; var numCount=1; var lineLog=1; var doubleArray=[]; var result="result:"; var lineCountGet; function index (n) { ArrayMake…
一.题目描述 腾讯实习在线笔试的一道题目. 根据输入的数字(< 1000),输出这样的"蛇形"矩阵,如下.输入n,输出(n * n)阶矩阵,满足由外到内依次增大. 如: 输入2,则输出如下矩阵 1 2 4 3 输入3,则输出如下矩阵 1 2 3 8 9 4 7 6 5 输入4,则输出如下矩阵 1 2 3 4 12 13 14 5 11 16 15 6 10 9 8 7 二.代码如下 思路:可以分成四大步,向右,向下,向左,向上. import java.util.*; /** *…
蛇形矩阵,百度了一下,是这么一个东西: 像一条蛇一样依次递增. 我想,竟然做了螺旋矩阵,那做一下这个吧.在之前的螺旋矩阵的main函数基础上,写个函数接口就行了,这一次做的很快,但是这个矩阵感觉比螺旋要难. 我的思路是这样的,先输出左边的矩阵(包括对角线),再输出左边的矩阵(不包括对角线). 看上图,因为我是一条对角线一条对角线这样赋值的,所以左边矩阵应该要赋值 n次,右边是n-1次. 而外层循环的次数是偶数的时候,也就是这样: 上图的1,然后是:4->5->6,然后是:11->12-&…
2016-06-01 17:33:30 题目链接: 矩阵乘法2 (Codevs No.3147) 题目大意: 给定两个大小相同的正方形矩阵A,B.多次询问,每次求乘后矩阵的一个子矩阵所有元素的和. 解法: 首先想到暴力. 预处理N^3,询问模拟扫,这常数简直瞬间爆炸啊 当然是可以优化的. 列出子矩阵的元素表达式,就会发现有一些元素//矩阵乘法2 (Codevs No.3147)//矩阵乘法#include<stdio.h>#include<algorithm>using names…
2016-06-01 16:53:23 题目链接: 矩阵乘法 (Codevs No.1287) 题目大意: 给你两个可乘矩阵a,b,求a*b 解法: 定义....... //矩阵乘法 (Codevs No.1287) //矩阵乘法 #include<stdio.h> #include<algorithm> using namespace std; ; int a,b,c,d; int map1[maxn][maxn]; int map2[maxn][maxn]; int map3[…
题目链接: https://acm.ecnu.edu.cn/problem/3536/ 题目大意: 求蛇形矩阵的每一行的和,数据范围n<=200000. 思路: 由于n数据较大,所以感觉应该是需要找规律. 先附上蛇形矩阵的打表代码,先输出数据较小的蛇形矩阵,观察规律. #include <iostream> #include <malloc.h> using namespace std; ][]; ; void DrawCircle(int len,int n); int m…
一.蛇形矩阵的构建,并按行输出 例: 输入:n, 生成n*n的蛇形矩阵 1 2 3 8 9 4 7 6 5 输出:1 2 3 8 9 4 7 6 5 java编码 public static void main(String[] args) { // TODO Auto-generated method stub Scanner in = new Scanner(System.in); int n = in.nextInt(); if(n < 0) return; if(n == 1){ Sys…
一个m*n的矩阵里按照下图形式填充,最后形成的矩阵即为蛇形矩阵,下图是m=4, n =5时的蛇形矩阵: 方法一:逐层循环 #include <iostream> using namespace std; const int ROW = 6; const int COLUMN = 10; const string space = " "; void setSnakeMatrix(int array[ROW][COLUMN], int start) { int x = 0, y…
[链接]:https://acm.ecnu.edu.cn/contest/59/problem/B/ B. 蛇形矩阵 Time limit per test: 2.0 seconds Memory limit: 256 megabytes 蛇形矩阵是我最喜欢的矩阵之一.n 阶蛇形矩阵由前 n2 个正整数顺时针从外到内盘绕而成. 例如四阶具有如下形式: 1 2 3 4 12 13 14 5 11 16 15 6 10 9 8 7 五阶(奇数阶数)在中心位置略有不同: 1 2 3 4 5 16 17…
蛇行矩阵 Time Limit: 4000/2000ms (Java/Others) Problem Description: 蛇形矩阵是由1开始的自然数依次排列成的一个矩阵上三角形. Input: 本题有多组数据,每组数据由一个正整数N组成.(N不大于100) Output: 对于每一组数据,输出一个N行的蛇形矩阵.两组输出之间不要额外的空行.矩阵三角中同一行的数字用一个空格分开.行尾不要多余的空格. Sample Input: 5 Sample Output: 1 3 6 10 15 2 5…
三角形蛇形矩阵 Time Limit: 2000/1000ms (Java/Others) Problem Description: 小铠觉得各类题型是要温故而知新的,所以他叫小发出一道类似做过的题.其实,一开始小发是拒绝的,但后来想了想,出些能坑别人的题也是人生的一大乐趣,何乐而不为.小发回顾了做过的题,灵机一闪,出了道三角形的蛇形矩阵. Input: 输入包含多组测试数据,首先输入n(1<n<=20),代表n*n的三角形矩阵. Output: 当n为奇数时,从1开始顺时针方向填入递增数据,…
传送门:QAQQAQ 题意:话说小X在孩提时,都会做标准的蛇形矩阵了,发现很好玩.现在的小X很想对其进行改版,变为如下类型的一个无限大蛇形数阵:令S(x)表示以1为左上角,x为右下角的矩形内所有数之和.例如S(12)就是具有深色背景的数之和.给定n,对于“以1为左上角,n为右下角的矩形”内的每一个数i,计算所有S(i)之和. 思路:神仙数学题... 先看暴力:我们通过人工YY和简单推算可以得出一个公式:$ans=\sum_{i=1}^{n}\sum_{j=1}^{m}a_{i,j}*\left…
Acwing 蛇形矩阵 package javaqq; import java.util.Scanner; public class 蛇形 { public static void main(String [] args) { int n,m; int [][]res=new int[100][100] ; boolean [ ][ ]st=new boolean[100][100] ; Scanner reader =new Scanner(System.in); n=reader.nextI…
题目给出如下表的一个矩阵: (红字表示行数或列数) 25 24 23 22 21 5 10 11 12 13 20 9 8 7 14 19 3 2 3 6 15 18 2 1 4 5 16 17 1 1 2 3 4 5 如表格,矩阵是从1开始盘曲的,排放规律不是很难找. 题目要求算出某个数的坐标,数据范围2*10^9,很明显不能用模拟的,这题是纯数学题,找规律题. 我们把矩阵拆开来看,每次进入上一层都会方向反转,每一层拆出来看就是: 25 24 23 22 21 20 19 18 17 10 1…
题目描述 Description 小明玩一个数字游戏,取个n行n列数字矩阵(其中n为不超过100的奇数),数字的填补方法为:在矩阵中心从1开始以逆时针方向绕行,逐圈扩大,直到n行n列填满数字,请输出该n行n列正方形矩阵以及其的对角线数字之和. 输入描述 Input Description n(即n行n列) 输出描述 Output Description n+1行,n行为组成的矩阵,最后一行为对角线数字之和 样例输入 Sample Input 3 样例输出 Sample Output 5 4 36…
题目描述 Description 小明玩一个数字游戏,取个n行n列数字矩阵(其中n为不超过100的奇数),数字的填补方法为:在矩阵中心从1开始以逆时针方向绕行,逐圈扩大,直到n行n列填满数字,请输出该n行n列正方形矩阵以及其的对角线数字之和. 输入描述 Input Description n(即n行n列) 输出描述 Output Description n+1行,n行为组成的矩阵,最后一行为对角线数字之和 样例输入 Sample Input 3 样例输出 Sample Output 5 4 36…
这道题还是和蛇形填数有关,因为要不停的去转圈圈去判断是否到了最中间的那个位置,所以用到了递归的思想. #include<stdio.h> int n,a[100][100]; void rewrite(int n,int count,int END) { int i; for(i=n-END-1;i>END;i--) a[n-END-1][i]=count--; if(!(count-1)){a[n/2][n/2]=1;return;} for(i=n-END-1;i>END;i-…
class Solution { public: int hammingWeight(uint32_t n) { ; //统计次数 ){ n &= (n-); //每次消掉一个1 k++; //统计消掉1的次数 } return k; } }; 解法:从下标为0开始,到下标为s的长度减1,对于每个字符都要计算 1)以这个字符为中心的回文串的长度(奇数串): 2)以这个字符和下个字符为中心的回文串的长度(偶数串). 注意:既要统计回文串为奇数时,又要统计回文串为偶数时,故要循环两次分开统计. cl…
[算法]区间DP [题解] 注意先输出右括号后输出左括号. f[i][i+x-1]=min(f[i][i+x-1],f[i][j]+f[j+1][i+x-1]+p[i]*p[j+1]*p[i+x]) x为当前区间长度,i为左端点,i+x-1为右端点,j为分割点. 矩阵Ai为Pi*Pi+1. 初始值f[i][i]=0,其它为inf. #include<cstdio> #include<algorithm> #include<cstring> using namespace…
今天大一考试C语言的时候看见了这道题,下面是我转载的一个大佬的博客,自认为分析的很清楚,特来分享一下. **原文地址: https://blog.csdn.net/jack22333/article/details/78847698 ** 题目如下图所示: 解题思路分析: 我们按照图中标出的箭头指向,逐一的赋值整个矩阵. 具体思路: 初始的时候,行标i=0,列标j=0,data[i][j]=0,此时k = 1(k表示当前矩阵位置到下一位置的运动方向): 当data移动到下一个位置后,此时需要把k…
剑指 Offer 29. 顺时针打印矩阵 Offer_29 题目描述: 题解分析: 题目的初衷是将这道题当做一个简单题处理 这道题一开始想的太复杂了,其实可以参考迷宫广度优先搜索的过程,只不过在选定一个方向遍历时,除非遇到改变方向的情况,否则一直走下去. 需要注意的是:这里的方向二维数组(direction),它里面四个方向需要满足顺时针的顺序. class Solution { public int[] spiralOrder(int[][] matrix) { if (matrix == n…
点击查看代码 #include<iostream> using namespace std; const int N = 110; int n, m; int dx[] = {-1, 0, 1, 0}, dy[] = {0, 1, 0, -1}; int x = 0, y = 0, d = 1, q[N][N]; int main() { cin >> n >> m; for (int i = 1; i <= m * n; i++) { q[x][y] = i;…
#include <iostream> using namespace std; #define M 100 int a[M][M]; void pt( int n ) { for ( int i = 0; i < n; i++ ) { for ( int j = 0; j < n; j++ ) { cout << a[i][j] << " "; //printf("%2d ",a[i][j]); } cout <…
public class Solution { //下x++ 左y-- 上x-- 右y++ public void prints(int n) { int[][] mp = new int[n][n]; for(int i=0; i<n; i++) { for(int j=0; j<n; j++) { mp[i][j] = 0; } } int x , y, tot; tot = mp[x=0][y=n-1] = 1; while(tot < n*n) { while(x+1<n…
2016-06-01 16:28:25 题目链接: Xn数列 (Codevs No.1281) 题目大意: 给定一种递推式为 Xn=(A*Xn-1+C)%M 的数列,求特定的某一项%G 解法: 矩阵乘法 不会的去看看高中矩阵的那本选修,起码知道都是啥意思,好理解得多 矩阵构造:           向量构造: A C                   X0 0  1                    1 需要注意的地方: 1.超大整数乘法,写个快速乘,防止爆longlong 2.函数的代值…
Description 萌萌哒cy学姐参加去年的新生杯的时候,蛇形矩阵那题被她分分钟秒掉,于是她决定出一个更难的题目,她要求矩阵里的每个数都是质数,当然,蛇形的规则也略有变化 如2*3矩阵: 2 7 11 3 5 13 再如3*4的矩阵 2 13 17 37 3 11 19 31 5 7 23 29 Input 第一行为一个正整数T,表示数据的组数,接下来T行,每行两个正整数n,m,表示矩阵有n行m列 Output 对于每一个输入输出n行,每行m个数,表示这个矩阵,输出内容见题目描述,每个数输出…