UVALive 7431(递推&递归_C题)解题报告

题目链接:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=5453

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

题意:给一个字符串,求它是在第几个图中的哪个位置,每个图与之前图的关系类似于将之前图分割四份,变为新图。

思路:题目找规律,首先确定维数,字符串多长就有多少维度,然后确定x和y坐标。x的值是由模2为1的值的位数加上2的位数此方得到。y值是由大于等于2的数目确定的2的位数次方得到。

代码:

#include<cstdio>
#include<cstring>
#include<cmath>

const int MAXN =30;
char s[MAXN]={0};

int main(void)
{

    while(~scanf("%s",s)){
        int n=0;
        int x=0;
        int y=0;
        n =strlen(s);
        int calx[n]={0};
        int caly[n]={0};
        for(int j=0;j<n;j++){
            calx[j]=s[j]-‘0‘;
            caly[j]=s[j]-‘0‘;
        }
        for(int i=0;i<n;i++){
            if(calx[i]%2==1) calx[i]=1;
            else    calx[i]=0;
            if(caly[i]>=2)    caly[i]=1;
            else    caly[i]=0;
        }
        for(int k=0;k<n;k++){
            if(calx[k])    x+=pow(2,(n-k-1));
            if(caly[k])    y+=pow(2,(n-k-1));
        }
    printf("%d %d %d\n",n,x,y);
    }

}

原文地址:https://www.cnblogs.com/caomingpei/p/8343718.html

时间: 2024-10-08 11:13:02

UVALive 7431(递推&递归_C题)解题报告的相关文章

HDU 2013(递推&amp;递归_D题)解题报告

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2013 ----------------------------------------------------------------------------------- 题意:每天吃掉一半再多一个,给出第几天吃到只剩一个,求开始时的数量. 思路:递推.按照每天的处理方式反向处理一下,最终得到结果. 代码: #include<cstdio> #include<cstring> #in

HDU 2045(递推&amp;递归_B题)解题报告

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2045 ----------------------------------------------------------------------------------- 题意:3种颜色,方格涂色,从左到右,最后一个方格颜色不能和第一个方格颜色相等,相邻颜色不能相同. 思路:最开始思路想简单了,以为第一个方格3种颜色,第二个方格到倒数第二个方格都是2种选择,最后一个方格一种选择.但是,这种递推需要

HDU 2044(递推&amp;递归_A题)解题报告

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2044 ------------------------------------------------------------------------------------ 题意:只能爬向+1或者+2的房间,求第a个房间到第b个房间的路线多少. 思路:递归,爬向第k个房间只能从第k-1或者k-2个房间爬动,所以相加递归即可. 注意: 递归的题目一般要用数组存上所求的解,防止给出较大值时造成的TLE

UVA 12034(递推&amp;递归_I题)解题报告

题目链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=3185 -----------------------------------------------------------------------------------------------------------------------------------------

递推递归小结

已经被递推递归虐了几天了,(┙>∧<)┙へ┻┻ 但是显而易见的是没有任何进展...作为一块并不Q弹好吃的连1116都不会写的蒟蒻突然饿了,我还能说什么呢. 所以只能给对面的一群大神跪了%%%%%%%%%%%%%orz 递推递归主要就是找思路,找到思路就并没有什么区别了. 但是我找不到思路啊 ╮(╯_╰)╭ 所以就找题解,但是递推专项找到的最齐的只有Pascal的代码,所以就看着Pascal的代码码了几道,于是到现在依然是明白了了几道题但是找不到规律一脸懵逼(=?ω?=)神圣与邪恶有汉化更新了呢

递推第3题—极值问题

[问题描述]已知m,n为整数,且满足下列两个条件:                 ①m,n∈{1,2,…,k},即1<=m,n<=k ②(n2-mn-m2)2=1 你的任务是:编程由键盘输入正整数k(1<=k<=109),求一组满足上述两个条件的m,n,并且使m2+n2的值最大.例如,我们从键盘输入k=1995,则输出m=987,n=1597. [问题分析] 典型的数学题……我们可以就条件②出发利用求根公式加上限制条件去解方程,一定能得到正确的解,但是数据范围是109,这种方法只

递推第2题—凸多边形的三角形剖分

[问题描述] 在一个凸多边形中,通过若干条互不相交的对角线,把这个多边形剖分成了若干个三角形.现在的任务是从键盘输入凸多边形的边数n,求不同剖分的方案数Cn.比如当n=5时,有5种不同的方案,所以Cn=5. [问题分析] Catalan数……估计都知道,我就不解释了,直接上代码:这是我写的(好像很短啊,最喜欢短代码了): var c:array[2..22]of longint;//当Catalan数列中n=22时就超出长整型,需要用到高精度 i,n,k:integer; begin fillc

08年acm区域赛北京赛区 部分题解题报告

08年区域赛北京赛区 http://poj.org/searchproblem?field=source&key=Beijing+2008 POJ 3921 Destroying the bus stations 题目还是比较难的,当时的榜似乎只有4/25的通过/提交,其实题目数据很水.学长转换模型写了网络流求最小割,可以AC,不过自己造了个数据推翻了正确性.我写了个很挫的bfs套bfs,外层是最小的删除点数,内层是求最短路,数据很水可以AC.但比较蛋疼的在于bfs耗内存,而且队列中的点数是阶乘

2016.8.27一套简单的题解题报告

一套不错的题,需要相关资料的联系我咯 考试分析: 1.  由于题目的名字加上第一道题没读完时我以为是我最不擅长的treeDP(其实不得不说,树和图上的题我真的是不想写,一般都写不对,上课太不认真,这个弱点要加强训练),我直接跳到了最后一道题,明知考3h还用了30min去分析,不过还是感谢,这30min救了我两道题出来: 这套题的确还是比较简单,后两道题只要认真分析数据都不会有问题,也许是因为暑假切了贪心和递推,我对分析数据比较在行,第三题切完之后还有2h,不过没写高精的我有点慌,打算最后留一点时