精华内容
下载资源
问答
  • 青蛙过河

    2019-03-04 19:38:11
    1)一条小溪尺寸不大,青蛙可以从左岸跳到右岸,在左岸有一石柱L,石柱L面积只容得一只青蛙落脚,同样右岸也有一石柱R,石柱R面积也只容得一只青蛙落脚。 2)有一队青蛙从小到大编号:1,2,…,n。 3)初始时:...

    Time Limit: 1000 ms Memory Limit: 65536 KiB

    Submit Statistic

    Problem Description

    1)一条小溪尺寸不大,青蛙可以从左岸跳到右岸,在左岸有一石柱L,石柱L面积只容得下一只青蛙落脚,同样右岸也有一石柱R,石柱R面积也只容得下一只青蛙落脚。 2)有一队青蛙从小到大编号:1,2,…,n。 3)初始时:青蛙只能趴在左岸的石头 L 上,按编号一个落一个,小的落在大的上面-----不允许大的在小的上面。 4)在小溪中有S个石柱、有y片荷叶。 5)规定:溪中的每个石柱上如果有多只青蛙也是大在下、小在上,每个荷叶只允许一只青蛙落脚。 6)对于右岸的石柱R,与左岸的石柱L一样允许多个青蛙落脚,但须一个落一个,小的在上,大的在下。 7)当青蛙从左岸的L上跳走后就不允许再跳回来;同样,从左岸L上跳至右岸R,或从溪中荷叶、溪中石柱跳至右岸R上的青蛙也不允许再离开。 问题:在已知小溪中有 s 根石柱和 y 片荷叶的情况下,最多能跳过多少只青蛙?

    Input

    输入数据有多组,每组占一行,每行包含2个数s(s是小溪中的石柱数目)、y(y是小溪中的荷叶数目)。(0 <= s <= 10,0 <= y <= 10),输入文件直到EOF为止!

    Output

    对每组输入,输出有一行,输出最多能跳过的青蛙数目。

    Sample Input

    0 2
    1 2
    

    Sample Output

    3
    6
    

    Hint

     

    Source

    zlh

    思路:

    两群青蛙,左右三只,中间有一块空地,左边只能向右跳,右边的只能向左跳,一次只能跳一格或者跨过一个障碍跳一格。 
    这个有两种思路,一种是先想清楚什么时候会阻塞,这个问题我们可以这样考虑,如果要这些青蛙都不能动的话,那么我们假设有两个同向的青蛙不在它本来的地方却又没有达到对岸的时候相邻在一起了,那么我们可以知道,这个时候就阻塞了,因为后面动从而造成这个局面的青蛙势必是从另一个方向过来的,也就是说,这两个相邻的青蛙的前进方向上没有空位,那么就肯定会造成阻塞了。这里没有问题的话,我们逆推回去,那么如果是右,左,空,右的情况的时候,其实没有什么好的办法,只能是右边那个过来空的地方,或者是右的右边有左方向的青蛙过来,但是不管怎么样,这里肯定是会阻塞的了,就是说空的左边是左,右边是右,这样就肯定不行的了。那么我们要怎么做也就很清楚了,判断好每一步,如果可以跳着走就跳着走,不过每一次走之前都要检测下一步会不会形成空的左边是左右边是右的情况。 
    还有一种思路就是纯粹的走迷宫,就是用深度二叉树的思想,只要走不通就回头走,就是说如果遇到阻塞的情况,那就说明上一步有问题,就返回就好。

    AC代码:

    #include<bits/stdc++.h>
    using namespace std;
    int  f(int a,int b)
    {
        int k;
        if(a==0)
        {
            k=b+1;
        }
        else
        {
            k=2*f(a-1,b);
        }
        return k;
    }
    int main()
    {
        int s,y,sum;
        while(~scanf("%d %d",&s,&y))
        {
            sum=0;
            if(s>10||y>10)
            {
                break;
            }
            sum=f(s,y);
            printf("%d\n",sum);
        }
        return 0;
    }
    

     

    展开全文
  • public class FrogClimbWell { public int getDeepwell(boolean Flag, int Deepwell) { if (Flag) { Deepwell -= 5;// 白天向上爬5米 } else { ...// 晚上向下掉3米 } return Deepwell; }
    <pre name="code" class="java">
    
    package com.tian.test;
    
    import java.util.Scanner;
    
    public class FrogClimbWell {
    	public int getDeepwell(boolean Flag, int Deepwell) {
    		if (Flag) {
    			Deepwell -= 5;// 白天向上爬5米
    		} else {
    			Deepwell += 3;// 晚上向下掉3米
    		}
    		return Deepwell;
    	}
    
    	public static void main(String[] args) {
    
    		System.out.println("请输入井高");
    		Scanner scanner = new Scanner(System.in);
    		int Deepwell = Integer.parseInt(scanner.next());// 获取控制台输入的井高
    		FrogClimbWell frogClimbWell = new FrogClimbWell();
    		int day = 0;// 初始变量day为0天
    		while (true) {
    			day++;// 进入循环之后不管井度是多少先加1天
    			if (Deepwell <= 5) {
    				break;
    			} else {
    				Deepwell = frogClimbWell.getDeepwell(true, Deepwell);
    				Deepwell = frogClimbWell.getDeepwell(false, Deepwell);
    				System.out.println("第" + day + "天剩余的高度:  " + Deepwell);
    				if (Deepwell <= 0)
    					break;
    			}
    		}
    		System.out.println("需要使用的天数:  " + day);
    	}
    }
     
    
     
    
    展开全文
  • 蛙蛙推荐:蛙蛙牌网页捕捉器摘要:你有没有看到一篇好文章想保存到本地,有没有想过只保存网页选中的部分而不要那些不必要的导航和广告,本贴告诉你达到这个目的的思路及主要代码。思路:首先我们要获取到所有IE...

    蛙蛙推荐:蛙蛙牌网页捕捉器

    摘要:你有没有看到一篇好文章想保存到本地,有没有想过只保存网页选中的部分而不要那些不必要的导航和广告,本贴告诉你达到这个目的的思路及主要代码。

    思路:首先我们要获取到所有IE窗口,无论是哪个IE进程的,这个我们要用引用"Microsoft Internet Controls(SHDocVw)"的com组件,用它的SHDocVw.ShellWindowsClass类来枚举用户打开的所有的IE页面。然后我们要用GetForegroundWindow API来获取前置的窗口,再用GetClassName API来获取前置窗口的Class,如果是“IEFrame”,说明当前窗口是IE,然后枚举所有的IE页面,对比每个IE页面的句柄是否是当前活动窗口的句柄,如果是,那么这个SHDocVw.InternetExplorer就是对应这当前处于活动窗口的IE的对象。为了方便操作HTML模型和IE对象,我们再引入Microsoft.mshtml程序集(这个是.NET程序集,前面那个SHDocVw是个Com互操作程序集,不过应该每台机器都装了IE,所以SHDocVw不需要单独分发)。SHDocVw.InternetExplorer.Document可以转换成mshtml.IHTMLDocument2类型,然后mshtml.IHTMLDocument2.body有innerHTML属性,就是当前网页的HTML文本了。mshtml.IHTMLDocument2.selection.createRange()表示用户在网页上选中的区域,这个做web的应该很熟,该方法返回mshtml.IHTMLTxtRange类型,该类型有htmlText属性,表示用户所选区域的html文本。
    这样所有必要的因素都有了,把这些综合在一起,就可以写个工具来快速保存你感兴趣的网页了。

    另外本文还演示如下技巧:
    1、如何实现无标题窗口,如果拖动无标题窗口,如何让窗口永远处于前置状态;
    2、如何解决前置窗口上的按钮要点击两次才能生效的问题,第一次点击是激活窗口,第二次单击按钮才会生效;
    3、让窗体初始化在屏幕的右下角;

    主要代码如下,不长

     

    using  System;
    using  System.Diagnostics;
    using  System.Drawing;
    using  System.Runtime.InteropServices;
    using  System.Text;
    using  System.Windows.Forms;
    using  mshtml;
    using  SHDocVw;

    namespace  CapIe
    {
        
    public partial class Form1 : Form
        
    {
            
    private fields

            
    Form 相关

            
    网页捕捉相关

            
    窗体拖动相关

            
    下拉菜单处理

            
    private void toolStrip1_MouseHover(object sender, EventArgs e)
            
    {
                Focus(); 
    //解决按钮要点击两次的bug
            }

        }

    }


    改进:目前只能当IE为活动窗口时,才能捕捉网页,我们可以先获取鼠标位置,然后用WindowFromPoint获取鼠标所在区域的窗口,再获取这个窗口的Class,看是否是“Internet Explorer_Server”,然后下面的步骤和上面的一样,这样的做的好处是一些IE内核的浏览器,比如傲游啦,GreenBrowser等浏览器也能想办法捕捉网页,因为只要是IE内核,显示网页的那部分的的Window的Class都是"Internet Explorer_Server"。找到这个窗口后再调用GetParent获取上层的窗口,再和ShellWindows枚举出来的窗口句柄对比,找到当前打开的网页。

     

     

    [DllImport( " user32 " )]
    private   static   extern  IntPtr WindowFromPoint(
    Point Point  
    // 坐标
    );
    [DllImport(
    " User32.dll " )]
    public   static   extern  IntPtr GetParent(IntPtr hWnd);

    int  x  =  Cursor.Position.X;
    int  y  =  Cursor.Position.Y;
    Point p 
    =   new  Point(x, y);
    IntPtr formHandle 
    =  WindowFromPoint(p);

    另外,就是像IE7这种的多标签浏览器,获取当前窗口,还要获取当前激活的标签页是哪个,否则捕获的网页可能不对,这就需要再想办法了,留给大家吧,想实现的话具体大家参考相关链接吧。

    点击下载示例(不包含Microsoft.mshtml.dll,应该在C:/Program Files/Microsoft.NET/Primary Interop Assemblies目录下cap_ie.zip

    相关链接: 

    SOS!!!如何获取鼠标再在的窗口的句柄
    http://topic.csdn.net/t/20010612/14/156129.html

    GetWindowRect,GetClientRect,和ScreenToClient
    http://hi.baidu.com/yh121212/blog/item/521172c646b7211b9c163d3c.html 

    请教out参数的用法
    http://topic.csdn.net/t/20050304/12/3824234.html

    从C#程序中调用非受管DLLs [择自博客园]
    http://blog.csdn.net/ericksky/archive/2006/07/27/988128.aspx

    GetCursorPos/WindowFromPoint/SendMessage (用API函数向Edit框发送字符)
    http://hi.baidu.com/gamevip/blog/item/cd4ac8119cef2111b8127b35.html

     

    如何连接到 Internet Explorer 的运行实例
    http://support.microsoft.com/kb/176792

    FileNotFoundException error using SHDocVw.ShellWindows
    http://bytes.com/forum/thread656636.html

    VB Webbrowser控件使用方法
    http://www.zxbc.cn/html/20080216/31664_3.html

    从HWnd得到IWebbrowser2接口
    http://www.zxboy.com/article.asp?id=100

    GetActiveWindow与GetForegroundWindow两者有何区别?
    http://www.qqgb.com/Program/VC/VCJQ/Program_166012.html

    MSHTML, Dom, and copying objects from a WebBrowser Control
    http://lazycoders.blogspot.com/2007/06/mshtml-dom-and-copying-objects-from.html

    我想找到当前IE(7)当前的文档对象,已有部分代码,请求大家帮忙!C#_WinFrom 
    http://topic.csdn.net/u/20070404/20/17979fe9-a223-44dc-aab5-b8edb8fbffd0.html

    Internet Explorer Activity Monitor
    http://www.codeproject.com/KB/cs/IE_Activity_Monitor.aspx?fid=229256&df=90&mpp=25&noise=3&sort=Position&view=Quick&select=1350993

    C#获得IE进程内的IDocument对象代码
    http://blog.csdn.net/shiff/archive/2007/12/05/1919000.aspx

     

    展开全文
  • 青蛙过河的问题

    千次阅读 2015-05-15 21:12:40
    两群青蛙,左右三只,中间有一块空地,左边只能右跳,右边的只能左跳,一次只能跳一格或者跨过一个障碍跳一格。 这个有两种思路,一种是先想清楚什么时候会阻塞,这个问题我们可以这样考虑,如果要这些青蛙都...

    关于青蛙过河的问题:
    两群青蛙,左右三只,中间有一块空地,左边只能向右跳,右边的只能向左跳,一次只能跳一格或者跨过一个障碍跳一格。
    这个有两种思路,一种是先想清楚什么时候会阻塞,这个问题我们可以这样考虑,如果要这些青蛙都不能动的话,那么我们假设有两个同向的青蛙不在它本来的地方却又没有达到对岸的时候相邻在一起了,那么我们可以知道,这个时候就阻塞了,因为后面动从而造成这个局面的青蛙势必是从另一个方向过来的,也就是说,这两个相邻的青蛙的前进方向上没有空位,那么就肯定会造成阻塞了。这里没有问题的话,我们逆推回去,那么如果是右,左,空,右的情况的时候,其实没有什么好的办法,只能是右边那个过来空的地方,或者是右的右边有左方向的青蛙过来,但是不管怎么样,这里肯定是会阻塞的了,就是说空的左边是左,右边是右,这样就肯定不行的了。那么我们要怎么做也就很清楚了,判断好每一步,如果可以跳着走就跳着走,不过每一次走之前都要检测下一步会不会形成空的左边是左右边是右的情况。
    还有一种思路就是纯粹的走迷宫,就是用深度二叉树的思想,只要走不通就回头走,就是说如果遇到阻塞的情况,那就说明上一步有问题,就返回就好。

    import java.util.ArrayList;
    import java.util.Arrays;
    import java.util.List;
    
    public class FrogProblem {
        public static List<Integer> list = new ArrayList<Integer>();
        public static void main(String[] args) {
            int a[] = {1,1,1,0,-1,-1,-1};
            frogSwip(a);
        }
    
        public static void frogSwip(int num[]){
            if(num[0]+num[1]+num[2]==-3&&num[4]+num[5]+num[6]==3){
                for (int i = 0; i < list.size()-1; i = i+2) {
                    System.out.println("第"+(i+2)/2+"次:"+list.get(i)+"和"+list.get(i+1)+"交换");    
                }
                System.exit(0);
            }
            int base = 0;
            for (int i = 0; i < num.length; i++) {
                if(num[i]==0){
                    base = i;
                }
            }
    
            if(base>1&&num[base-2]==1){         //右边跳两个
                num[base] = 1;
                num[base-2] = 0;
                list.add(base);
                list.add(base-2);
                frogSwip(num);
                list.remove(list.size()-1);
                list.remove(list.size()-1);
                num[base] = 0;
                num[base-2] = 1;
            }
            if(base<5){     //左边跳两个
    
                if(num[base+2]==-1){
                    num[base] = -1;
                num[base+2] = 0;
                list.add(base);
                list.add(base+2);
                frogSwip(num);
                list.remove(list.size()-1);
                list.remove(list.size()-1);
                num[base] = 0;
                num[base+2] = -1;
                }
    
            }
            if(base>0&&num[base-1]==1){         //右边跳一个
                num[base] = 1;
                num[base-1] = 0;
                list.add(base);
                list.add(base-1);
                frogSwip(num);
                list.remove(list.size()-1);
                list.remove(list.size()-1);
                num[base] = 0;
                num[base-1] = 1;
            }
            if(base<6&&num[base+1]==-1){        //左边跳一个
                num[base] = -1;
                num[base+1] = 0;
                list.add(base);
                list.add(base+1);
                frogSwip(num);
                list.remove(list.size()-1);
                list.remove(list.size()-1);
                num[base] = 0;
                num[base+1] = -1;
            }
    
        }
    }
    
    展开全文
  • 当我们想让一段文字出现在一个布局块的右边的时候,我们会让布局块左浮动,然后把段落设置左布局块宽度大小的左空白。比如左布局块是.a{float:left;height: 110px;width: 286px;background-color:Blue;},我们就...
  • 蛙蛙推荐:蛙蛙牌firefox插件

    千次阅读 2008-11-12 00:37:00
    第二种思路是把接口方法的参数定义成AString,然后在XPCOM的实现方法里用NS_StringGetData和WideCharToMultiByte来转换,结果NS_StringGetData在gecko 1.8编译链接时老提示无法解析的外部符号,在gecko1.7倒是能...
  • 现在,数以百万计的iOS和Android手机正成为应用开发者梦寐以求的世界门户,那么,这家总部位于库比蒂诺公司一步该做什么呢?很显然,解剖青蛙。Froggipedia是苹果刚刚发布的一款新ARKit应用程序,它的功能和你想象...
  • 蛙蛙推荐:winform入门

    千次阅读 2008-09-14 00:38:00
    蛙蛙推荐:winform入门摘要:现在web应用的发展大大快于桌面应用,但桌面应用在某些场合确实也有很大的有事,其实.net 2.0在windows form方面做了不少的改进,大家也许也零零散散的知道一些,本文来综合这些技术点来...
  • 青蛙的眼睛

    千次阅读 2011-12-13 10:34:28
    青蛙头上那对外凸起的眼睛,既灵敏又无用。说它灵敏,是对飞动的影像,它确实能明察秋毫;说它无用,是对静止的东西,它又视而不见,真是一对奇怪的眼睛。 中国林蛙  青蛙的眼睛,为什么视静不见,见...
  • 青蛙游戏 这个游戏本质上是让玩家在不与任何敌怪碰撞的情况下到达水块。 玩家可以向左、向右、向上和向下移动。 每当玩家与虫子碰撞时,玩家都会返回其初始位置。 当玩家到达水块时,它也会返回到其初始位置。
  •  摘要:.net一般配合sqlserver使用,但mysql在性能和...一、安装linux一般PHP环境的最佳组合是LAMP(linux+apache+mysql+php),说明mysql在linux是最合适的,所以我们先装linux,因为我们在linux只运行mysql服
  • 温水煮青蛙的安逸感

    千次阅读 2016-04-04 21:43:38
    迟早有一天,等你真正进入社会的时候,你会发现那些有吸引力的工作岗位、那些能吸引风投的创业机会、那些留给一辈配置社会财富的渠道,已经被这类人牢牢占据了。 当然,慢慢你还会发现,这类人往往情商高,...
  • 摘要:2018刚刚到来,微信小程序跳一跳和《恋与制作人》先火了一把,紧接着一款来自日本的“佛系”游戏《旅行青蛙》火的一塌糊涂,短短不到一个月的时间,三款游戏引爆市场,很多人非常的不解,“养”游戏为何如此...
  • 使用箭头键向左、向右、向上或向下移动“青蛙”角色以避开汽车,并避免被登陆日志或鳄鱼淹死。 引导您的角色前往 5 个睡莲,在所有 5 个睡莲上着陆会将您提升到一个新的水平。 当您被汽车撞到或落入河中时,您将失去...
  • 2812:恼人的青蛙

    2018-02-22 22:49:24
    总时间限制: 2000ms 单个测试点时间限制: 500ms 内存限制: 65536kB 描述 在韩国,有一种小的青蛙。每到晚上,这种青蛙会跳越...如图所示,稻田里的稻子组成一个栅格,每棵稻子位于一个格点上。而青蛙总是从...
  • 在半球形节点结构基础上研究采用握手交互信息帧的邻居发现协议,通过发光二极管(LED)逐扫描发送交互信息的方式,可以不依靠外部定位信息发现相邻蛙人节点。针对蛙人在运动状态通信链路容易发生中断的问题,研究...
  • 2488 绿豆的归宿

    2017-04-17 19:36:00
    2488 绿豆的归宿 时间限制: 1 s ... 随着新版百度空间的上线,Blog宠物绿豆完成了它的使命,去寻找它新的归宿。... 给出一个有无环图,起点为1终点为N,每条边都有一个...
  • 要移动您的播放器,只需使用箭头:向上、向下、向右和向左。 您的目标是将您的玩家导航到水中,而不会被虫子击中。 当你到达水边时,你的分数会增加 1 每当您到达水面时,尝试离开屏幕或 - 不幸的是 - 被虫子...
  • 兔与青蛙

    2011-02-15 11:56:00
    于是就这样决定了,他们一齐跑池塘,想要投水自尽. 这时候许多青蛙围着池塘边蹲着,听见了那急促的跑步声后,立即纷纷跳池塘. 有一只比较聪明的兔子,见到青蛙都跳到水中,仿佛明白了什么.“朋友们,快停,...
  • 感悟青蛙和井的故事

    2008-12-24 20:40:23
    其中一只向下看了看对另一只说:“这是个凉爽的好地方,就住这里吧。”而另一只较明智,它说:“别着急,朋友,如果这口井也干了的话,我们怎么出来呢?”   The Frogs and the Well Two frogs lived together ...
  • “温水煮青蛙”

    千次阅读 2010-06-28 22:14:00
    当种种问题就在眼前,要么改变,要么面临淘汰,在没有退路的情况绝大多数人会爆发,而当种种改变是一种循徐渐进方式时,人会慢慢的默认这种变化,而且会随着这种变化而产生本质性的变化。这时的人就像那只温水里的...
  • 蛙蛙推荐:WEB编码规范

    千次阅读 2004-11-15 13:09:00
    一级标记采用左对齐右缩进一个 Tab 的方式书写    在下一级依此类推,分别左对齐相对于父标记右缩进一个 Tab 的方式书写   * 同一级标记的首字符上下必须对齐。   2. 客户端 JavaScript ...
  • 青蛙表演 [差分约束]

    2018-05-19 10:30:34
    今天,何老板打算用N根木桩来世人展示该的跳跃技能。 这n根木桩排成一行,首先从最矮的木桩顶部起跳,总共进行N-1次跳跃。每次它只能跳到比当前木桩更高的一个木桩顶部。当表演结束时,每个木桩它都恰好到过...
  • 一只青蛙在一口11米深的井底向上爬,白天向上爬3米,晚上下滑2米,总共需要几天可以爬出. public class Test4 { public static void main(String[] args) { int i=0; int j=0; for (; ; j++) { i=i+3; if(i>11)...
  • 青蛙过河程序及其解析

    千次阅读 2009-02-02 15:50:00
    D,E,F三只想去左岸,它们只会从右左跳。青蛙每次最多跳到自己前方第2块石头上。请问最少要跳几次所有青蛙上岸。写出步骤。这个题是个路径搜索的问题,在解空间搜索所有的解,并找出最优的解法(即步骤最少的)...
  • 青蛙的体力值为P,向右走消耗1个体力值,向下走不消耗体力值,向上走消耗3个体力值。如果体力消耗最少的路径所消耗的体力值大于P,则输出“Can not escape”,否则,输出青蛙走出迷宫的体力消耗最少的路径和消耗的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 10,100
精华内容 4,040
关键字:

向下蛙