密码锁

密码锁
Time Limit: 1000 MS Memory Limit: 32768 K
Total Submit: 153(129 users) Total Accepted: 135(126 users) Rating: Special Judge: No
Description

小D在尝试打开一个很有挑战性的密码锁,这个锁上面一共有 n 个按钮用来打开。

小D必须输入之前设置好的密码序列才能打开这个锁。每次按下一个按钮,这个按钮要么陷入(这个表示小D猜对了密码当前这位的数并准备按密码序列的下一个按钮)要么所有的按钮恢复原状(表示当前位按了错误的按钮)。当所有的按钮全部按下的时候,密码锁就会打开。

小D想知道她现在想要打开这个n位的锁最坏情况下要按多少次按钮。

Input

有多组测试数据。

每组有一个数n(1 ≤ n ≤ 2000)。

Output
输出最坏按按钮的次数。
Sample Input

3

6

484

Sample Output

7

41

18897054

Author
曾卓敏 @hrbust

找规律的题,

寻找第一按钮   按n次

寻找第二按钮   按(n-2)*2 +1

寻找第三按钮   按 (n-3)*3+1

。。。

寻找第k按钮    按(n-k)*k+1

其中   1<k<n;

寻找最后一个按钮只按了1次

#include<iostream>
#include<stdio.h>
#include<string.h>
#include<algorithm>
#include<math.h>
using namespace std;
int main()
{
    int n;
    while(~scanf("%d",&n))
    {
        long sum=n+1+n-2;
        int i;
        for(i=2;i<=n-1;i++)
        {
            sum+=(n-i)*i;
        }
        printf("%ld\n",sum);
    }
    return 0;
}
时间: 2024-10-07 10:33:10

密码锁的相关文章

特殊密码锁

总时间限制:  1000ms 内存限制:  1024kB 描述 有一种特殊的二进制密码锁,由n个相连的按钮组成(n<30),按钮有凹/凸两种状态,用手按按钮会改变其状态. 然而让人头疼的是,当你按一个按钮时,跟它相邻的两个按钮状态也会反转.当然,如果你按的是最左或者最右边的按钮,该按钮只会影响到跟它相邻的一个按钮. 当前密码锁状态已知,需要解决的问题是,你至少需要按多少次按钮,才能将密码锁转变为所期望的目标状态. 输入 两行,给出两个由0.1组成的等长字符串,表示当前/目标密码锁状态,其中0代表

openjudge8469特殊密码锁[贪心]

描述 有一种特殊的二进制密码锁,由n个相连的按钮组成(n<30),按钮有凹/凸两种状态,用手按按钮会改变其状态. 然而让人头疼的是,当你按一个按钮时,跟它相邻的两个按钮状态也会反转.当然,如果你按的是最左或者最右边的按钮,该按钮只会影响到跟它相邻的一个按钮. 当前密码锁状态已知,需要解决的问题是,你至少需要按多少次按钮,才能将密码锁转变为所期望的目标状态. 输入两行,给出两个由0.1组成的等长字符串,表示当前/目标密码锁状态,其中0代表凹,1代表凸.输出至少需要进行的按按钮操作次数,如果无法实现

iOS开发——高级技术&amp;密码锁功能的实现

密码锁功能的实现 一个ios手势密码功能实现 ipad/iphone 都可以用 没有使用图片,里面可以通过view自己添加 keychain做的数据持久化,利用苹果官方KeychainItemWrapper类 keychain存储的数据不会因为删除app而清除记录,请调用-(void)clear清除储存密码. 简单使用方式 下载后直接把 GesturePassword 下的GesturePassword文件丢到项目中去 在 TARGETS - Build Phases - "KeychainIt

一个密码锁加密应用项目源码

源码ToolWizAppLock,一个密码锁应用,加密你的应用,照片,视频文件. 在生活中,你有没有担心过手机里的某些应用被别人偷看,比如微信聊天记录.短信.照片? 你是否担心一些重要图片,视频等重要资料被偷窥? 有了密码锁,您只需将不想被别人查看的应用在我这里锁住,设置好密码,就可以高枕无忧了! 您只需将重要的图片,视频等文件在我这里加密,再也不怕被别人窃取你的隐私了! 源码下载: http://code.662p.com/view/11470.html <ignore_js_op> 详细说

NOI OpenJudge 8469 特殊密码锁 Label贪心

描述 有一种特殊的二进制密码锁,由n个相连的按钮组成(n<30),按钮有凹/凸两种状态,用手按按钮会改变其状态. 然而让人头疼的是,当你按一个按钮时,跟它相邻的两个按钮状态也会反转.当然,如果你按的是最左或者最右边的按钮,该按钮只会影响到跟它相邻的一个按钮. 当前密码锁状态已知,需要解决的问题是,你至少需要按多少次按钮,才能将密码锁转变为所期望的目标状态. 输入两行,给出两个由0.1组成的等长字符串,表示当前/目标密码锁状态,其中0代表凹,1代表凸.输出至少需要进行的按按钮操作次数,如果无法实现

安卓应用程序密码锁的实现

功能: 1.应用程序程序中设置了密码锁,每当用户打开应用时,要弹出密码输入界面: 2.当用户按住home键,将程序隐在后台而非退出,经过一段时间后,再重新启动,也要弹出密码输入界面: 3.当应用在前台的时候,用户按住power电源键,关闭屏幕后,再点亮屏幕,这个时候也要弹出密码输入界面 实现方式: 1.针对功能1,每次启动应用进入主界面时,判断是否需要弹出密码输入界面: 2.关键点在于怎么判断程序是否处在前台跟后台. 判断方法: public static boolean isAppOnFore

8469:特殊密码锁

传送门:http://noi.openjudge.cn/ch0406/8469/ 描述 有一种特殊的二进制密码锁,由n个相连的按钮组成(n<30),按钮有凹/凸两种状态,用手按按钮会改变其状态. 然而让人头疼的是,当你按一个按钮时,跟它相邻的两个按钮状态也会反转.当然,如果你按的是最左或者最右边的按钮,该按钮只会影响到跟它相邻的一个按钮. 当前密码锁状态已知,需要解决的问题是,你至少需要按多少次按钮,才能将密码锁转变为所期望的目标状态. 输入 两行,给出两个由0.1组成的等长字符串,表示当前/目

【NOIP模拟赛】密码锁

题目描述 hzwer有一把密码锁,由N个开关组成.一开始的时候,所有开关都是关上的.当且仅当开关x1,x2,x3,…xk为开,其他开关为关时,密码锁才会打开. 他可以进行M种的操作,每种操作有一个size[i],表示,假如他选择了第i种的操作的话,他可以任意选择连续的size[i]个格子,把它们全部取反.(注意,由于黄金大神非常的神,所以操作次数可以无限>_<) 本来这是一个无关紧要的问题,但是,黄金大神不小心他的钱丢进去了,没有的钱他哪里能逃过被chenzeyu97 NTR的命运?>_

linux下利用adb连接Android模拟器查看内核版本、cpu体系架构版本、删除密码锁

在前面的两篇文章中,讲述了编译android源码和内核源码,此篇文章建立在之前的基础上,不清楚的请先转战: 源码编译 内核编译 --------------------------------------------------------------------------------------------- 在使用了下面的命令启动了模拟器之后: export PATH=$PATH:/usr/local/Android/Android2.3.7/out/host/linux-x86/bin