摆方格--

1077: 摆方格

时间限制: 1 Sec  内存限制: 128 MB
提交: 18  解决: 12
[提交][状态][讨论版][命题人:uzzoj]

题目描述

给你一个n*n的方格,每个方格里的数必须连续摆放如  

 

 

,下图为不连续的,请输出从左上角到右下角的对角线上的最大和   

 

输入

输入包含多组测试数据。
每一行包括一个数据n,表示n*n的方格(保证所有数据在2^64范围内且n>0)

输出

每行输出占一行,输出最大的对角线之和。

样例输入

1
2
3

样例输出

1
6
19
#include <cstdio>   //完美兼容了C的语法
#include <cstring>  //字符串函数
#include <iostream> //流
using namespace std;

int main()
{
    int n,x,y,z,sum1,sum2;
    int T = 3;
    while(T--)
    {
        cin >> n;
        long a[100][100]= {0};
        x = 0;
        y = 0;
        z = 1;
        a[x][y]=1;
        sum1 = 0;
        sum2 = 0;
        while (z<n*n)
        {
            //往右
            while(y+1<n && !a[x][y+1])
            {
                a[x][++y]=++z;
            }
            //往下
            while(x+1<n && !a[x+1][y])
            {
                a[++x][y]=++z;
            }
            //往左
            while(y-1>=0 && !a[x][y-1])
            {
                a[x][--y]=++z;
            }
            //往上
            while(x-1>=0 && !a[x-1][y])
            {
                a[--x][y]=++z;
            }

        }
        //输出
        for(x=0; x<n; x++)
        {
            for(y=0; y<n; y++)
            {
                if(x == y)
                {
                    sum1 += a[x][y];
                }
                if(x+y == n-1)
                {
                    sum2 += a[x][y];
                }
            }
        }
        if(sum1 < sum2)
        {
            sum1 = sum2;
        }
        cout << sum1<<endl;
    }
        return 0;
    }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 如果你想使用 `v-for` 来动态生成四个方块,可以按照下面的代码进行修改: ```html <template> <view class="container"> <view v-for="(color, index) in colors" :key="index" class="square" :style="'background-color: ' + color;"></view> </view> </template> <script> export default { data() { return { colors: ['#f44336', '#2196f3', '#4caf50', '#ffeb3b'] } } } </script> <style> .container { display: flex; flex-wrap: wrap; justify-content: center; } .square { width: 100px; height: 100px; margin: 10px; } </style> ``` 在上面的代码中,我们将四个颜色存储在 `colors` 数组中,并使用 `v-for` 动态生成四个方块。我们通过 `:style` 绑定动态样式,将每个方块的背景色设置为对应的颜色。注意,在这里我们使用了 `:key` 属性来标识每个方块,以便 Vue.js 可以进行高效的更新操作。 ### 回答2: 方格可以使用v-for指令来创建。在Vue.js中,v-for指令用于循环渲染一组元素或数据。 首先,你需要定义一个包含方格数据的数组。例如,你可以创建一个包含9个元素的数组: ``` data() { return { squares: [1, 2, 3, 4, 5, 6, 7, 8, 9] } } ``` 接下来,你可以在模板中使用v-for指令来循环渲染方格元素。在每个方格元素上使用v-for指令,并绑定数组和当前元素的索引。 ``` <div class="grid"> <div v-for="(square, index) in squares" :key="index" class="square"> {{ square }} </div> </div> ``` 在上述代码中,v-for指令会遍历squares数组,并为每个元素渲染一个方格。:key指令用于给每个方格元素添加唯一的标识,并提高渲染性能。 最后,你可以根据需要自定义方格的样式,例如设置每个方格的宽度、高度、颜色等。 这样,当你渲染这个模板时,Vue.js会根据squares数组中的元素生成相应数量的方格。你可以根据具体需求修改数组的元素个数、数组中的元素内容以及方格的样式,实现你所需要的方格效果。 ### 回答3: 方格的创建可以使用v-for指令来实现。v-for指令用于遍历数组或对象,根据其元素的数量来生成相应的元素。 首先,我们要有一个数组来存储要展示的方格数据,例如: ``` data() { return { squares: ["A", "B", "C", "D", "E", "F"] } } ``` 然后,在模板中使用v-for指令来循环遍历squares数组,并为每个元素生成一个方格: ``` <div v-for="(square, index) in squares" :key="index" class="square"> {{ square }} </div> ``` 在上述代码中,v-for指令将遍历squares数组,并将每个元素赋值给square变量。index是当前循环的索引值。:key="index"是为了为每个方格生成唯一的key值。 为了展示方格效果,还需要为它们添加样式。可以使用CSS来设置.square类的样式,例如设置定宽和定高的大小,以及背景颜色等。 最后,将上述代码添加到适当的位置,即可在页面上展示由v-for生成的方格。 完整代码示例: ``` <template> <div> <div v-for="(square, index) in squares" :key="index" class="square"> {{ square }} </div> </div> </template> <script> export default { data() { return { squares: ["A", "B", "C", "D", "E", "F"] } } } </script> <style> .square { width: 100px; height: 100px; background-color: gray; display: inline-block; margin: 5px; text-align: center; line-height: 100px; font-size: 20px; color: white; } </style> ``` 通过以上的代码,可以使用v-for指令生成方格,并按照数组中的元素顺序展示出来。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

朱事顺利、

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值