zoukankan      html  css  js  c++  java
  • poj 1068 模拟

    题目链接

        大概题意就是告诉你有个n个小括号,每一个“)”左边有多少个“(”都告诉你了,然后让你求出每一对括号之间有多少对括号(包含自己本身)。

    思路:

           我先计算每个“)”左边有多少个“(”要匹配,然后每遇到一个“)”,然后向前寻找第一个可以匹配的“(”,找到后将其数量减一,这样的话在寻找的过程中经过了几个“)”就表示这对括号里面有多少括号。

    //poj 1068
    //2013-07-17-08.45
    #include <iostream>
    #include <stdio.h>
    #include <string.h>
    
    using namespace std;
    
    int a[25];
    int lift[25];
    int main()
    {
        int t, n;
        scanf("%d", &t);
        while (t--)
        {
            scanf("%d", &n);
            for (int i = 1; i <= n; i++)
                scanf("%d", &a[i]);
            lift[1] = a[1]-1;
            printf("1");
            for (int i = 2; i <= n; i++)
            {
                lift[i] = a[i] - a[i-1];
                int cnt = 0;
                for (int j = i; j > 0; j--)
                {
                    if (lift[j] == 0)
                        cnt++;
                    else
                    {
                        lift[j]--;
                        break;
                    }
                }
                printf(" %d", cnt+1);
            }
            puts("");
        }
        return 0;
    }
    


  • 相关阅读:
    Cookie和Session
    Csrf
    Django中间件
    ORM操作
    Django框架简介
    Django之模型的高级用法
    Linux基础(二)之命令
    01 numpy库(一)
    Django之缓存配置
    20 Django REST Framework 更改PUT/PATCH/DELETE的传参字段,默认为pk
  • 原文地址:https://www.cnblogs.com/xindoo/p/3595063.html
Copyright © 2011-2022 走看看