19.11.30联赛 Problem I. 2333(打表)

Problem I. 2333

题目

现在,给定一个有规律的数列的规律,询问该数是多少?
这个数列由 2 和 3 构成他们的前 10 项为:2,3,3,2,2,2,3,3,3,2…
或许你并不明白这是个什么玩意,聪明的 2233 娘告这个数列由 233 开头,可以把数列中连续相同的数字看整体。
(2),(33),(222),(333),(22),(33)…
并且你把括号内的数个数写出来后还能得到原来的
(2) (33) (222) (333) (22) (33)…
2 3 3 2 2…
第一个(2)下面没有对应的数。
(33)有两个 3 说明原来的数列开头是 2,(222)有 3 原来的数列第二项是 3。(333)有 3 个 3 说明原来的数是 3…括号内的 2,3 是交替出现的。
你可以简单的发现它们每一项跟前面的项都是相关虽然 33 是机器人但是她的运算速度似乎不够尽人意她会给你多组询问,让你来回答每组询问的答案。
Input
输入包含多组数据。
第一行 T (1 ≤ 𝑇 ≤ 105) 代表数据总数。
每一组询问包含一个 n (1 ≤ 𝑛 ≤ 107) 为询问的第 n 项
Output
对于每组询问输出一行即为第 n 项。
Sample input
4
1
2
3
1000000
Sample Output
2
3
3
3

思路

(1)2,3交替进行:那么通过z判断是2还是3
(2)从a[1]开始读,读到2,则向数组中加2个数,读到3,则加3个
数,x表示数组长度

AC代码

#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <cmath>
#include <iostream>
#include <algorithm>
using namespace std;
int a[10000008];
int main()
{
    int x=1,s,p,z=1;;
    a[1]=2;
    for(int i=1;;i++)
    {
        if(z%2==0)s=2;
        else s=3;
        if(a[i]==2)
        {
            p=2;
            for(int j=x+1;j<x+1+p;j++)
            {
                a[j]=s;
            }
        }
        else
        {
            p=3;
            for(int j=x+1;j<x+1+p;j++)
            {
                a[j]=s;
            }
        }
        z++;
        x=x+p;
        if(x>=10000000)break;
    }
    int t;
    cin>>t;
    while(t--)
    {
      int n;
      cin>>n;
      cout<<a[n]<<endl;
    }
    return 0;
}

Halcon-19.11.0.0 32位的dll文件是用于Halcon软件的动态链接库。Halcon是一款强大的机器视觉软件,用于图像处理和机器视觉应用开发。dll文件是一种可执行文件,包含了函数和程序代码,可以在应用程序中被动态链接调用。 32位的dll文件表示该文件适用于32位的操作系统和应用程序。它可以在32位的Windows操作系统上使用,并且能够与与其兼容的32位应用程序交互。32位的操作系统和应用程序通常能够在较低配置的计算机上运行,并且具有较好的兼容性。 Halcon-19.11.0.0 32位的dll文件包含了Halcon软件的核心功能和库函数,可以被开发人员用来构建自己的应用程序。它提供了丰富的图像处理和机器视觉算法,例如图像滤波、特征提取、形状识别等。通过调用这些函数,开发人员能够快速实现图像处理和机器视觉应用的开发,提高工作效率。 使用Halcon-19.11.0.0 32位的dll文件,开发人员可以在自己的应用程序中集成Halcon的功能,实现图像处理和机器视觉的自动化任务。他们可以通过编程语言,如C++、C#等,调用这些dll文件中的函数,控制Halcon的各种操作,包括图像采集、图像处理和结果分析等。 总之,Halcon-19.11.0.0 32位的dll文件是Halcon软件的一部分,用于在32位操作系统和应用程序中实现图像处理和机器视觉应用开发。它能够帮助开发人员快速构建自己的应用程序,提高工作效率和准确性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值