P1057 傳球游戲

題目描述

上體育課的時候,小蠻的老師經常帶著同學們一起做游戲。這次,老師帶著同學們一起做傳球游戲。

游戲規則是這樣的:n個同學站成一個圓圈,其中的一個同學手里拿著一個球,當老師吹哨子時開始傳球,每個同學可以把球傳給自己左右的兩個同學中的一個(左右任意),當老師在此吹哨子時,傳球停止,此時,拿著球沒有傳出去的那個同學就是敗者,要給大家表演一個節目。

聰明的小蠻提出一個有趣的問題:有多少種不同的傳球方法可以使得從小蠻手里開始傳的球,傳了m次以后,又回到小蠻手里。兩種傳球方法被視作不同的方法,當且僅當這兩種方法中,接到球的同學按接球順序組成的序列是不同的。比如有三個同學1號、2號、3號,并假設小蠻為1號,球傳了3次回到小蠻手里的方式有1->2->3->1和1->3->2->1,共2種。

輸入輸出格式

輸入格式:

?

輸入文件ball.in共一行,有兩個用空格隔開的整數n,m(3<=n<=30,1<=m<=30)。

?

輸出格式:

?

輸出文件ball.out共一行,有一個整數,表示符合題意的方法數。

?

輸入輸出樣例

輸入樣例#1:
3 3
輸出樣例#1:
2

說明

40%的數據滿足:3<=n<=30,1<=m<=20

100%的數據滿足:3<=n<=30,1<=m<=30

2008普及組第三題

?

這題看了一下題解,,

然后,,也不知道為什么,,,

畫一個表格,下標1標為1

1,0,0

一次循環,自己的值變成左邊和右邊的值之和

0,1,1

0,1,1

2,0,0

次數一到,結束操作

不過學到一個方法,對于環形DP,我們可以用pre和nxt數組求前后的祖先,就沒必要特判了,(其實還是特判)

 1 #include<iostream>
 2 #include<cstdio>
 3 #include<cstring>
 4 #include<cmath>
 5 using namespace std;
 6 void read(int & n)
 7 {
 8     char c='+';int x=0;bool flag=0;
 9     while(c<'0'||c>'9')
10     {c=getchar();if(c=='-')flag=1;}
11     while(c>='0'&&c<='9')
12     {x=x*10+(c-48);c=getchar();}
13     flag==1?n=-x:n=x;
14 }
15 int n,m;
16 int dp[101][101];
17 int pre(int p)
18 {
19     if(p==1) return n;
20     else return p-1;
21 }
22 int nxt(int p)
23 {
24     if(p==n) return 1;
25     else return p+1;
26 }
27 int main()
28 {
29     read(n);read(m);
30     dp[1][1]=1;
31     for(int i=2;i<=m+1;i++)
32         for(int j=1;j<=n;j++)
33                 dp[i][j]=dp[pre(i)][pre(j)]+dp[pre(i)][nxt(j)];
34     printf("%d",dp[m+1][1]);
35     return 0;
36 }

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/456114.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/456114.shtml
英文地址,請注明出處:http://en.pswp.cn/news/456114.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Keepalived 添加腳本配置監控haproxy方案

作者&#xff1a;風過無痕-唐出處&#xff1a;http://www.cnblogs.com/tangyanbo/ 上一篇文章已經講到了keepalived實現雙機熱備&#xff0c;且遺留了一個問題 master的網絡不通的時候&#xff0c;可以立即切換到slave&#xff0c;但是如果只是master上的應用出現問題的時候&am…

H.264編解碼標準的核心技術(提供相關流程圖)

最近在學習H.264編解碼知識&#xff0c;上網搜了不少資料看&#xff0c;發現大多數中文資料中都缺少相應的圖片&#xff0c;例如編解碼流程圖、編碼模板等&#xff0c;這對加深理解是很有幫助 的。木有辦法&#xff0c;只好回去潛心閱讀《H.264_MPEG-4_Part_10_White_Paper》&a…

【機器學習】總結:線性回歸求解中梯度下降法與最小二乘法的比較

在線性回歸算法求解中&#xff0c;常用的是最小二乘法與梯度下降法&#xff0c;其中梯度下降法是最小二乘法求解方法的優化&#xff0c;但這并不說明梯度下降法好于最小二乘法&#xff0c;實際應用過程中&#xff0c;二者各有特點&#xff0c;需結合實際案例具體分析。 最后有…

struts2學習(3)struts2核心知識II

一、struts.xml配置&#xff1a;                                                   1.分模塊配置方法&#xff1a; 比如某個系統多個模塊&#xff0c;我們把資產管理模塊和車輛管理模塊&#xff0c;分開&#xff0c;在總…

【機器學習】邏輯斯蒂回歸概率計算和手動計算對比

二分類&#xff0c;邏輯斯蒂回歸概率計算 import numpy as np from sklearn import datasets from sklearn.linear_model import LogisticRegression from sklearn.model_selection import train_test_splitX,y datasets.load_iris(True)cond y!2X X[cond] y y[cond]resul…

WPF快速指導2:模板

WPF快速指導2&#xff1a;模板 本文摘要&#xff1a; 1&#xff1a;模板作用&#xff1b; 2&#xff1a;樣式模板&#xff1b; 3&#xff1a;數據模板&#xff1b; 4&#xff1a;如何使用ControlTemplate&#xff1b; 5&#xff1a;如何使用DataTempla…

五個最佳媒體格式轉換器

我們經常會遇到下載的視頻文件格式不對&#xff0c;無法在其他播放設備&#xff08;如手機、DVD&#xff09;中使用的問題&#xff0c;現在&#xff0c;我們介紹五個功能強大且易于使用的媒體轉換器&#xff0c;用于轉換不同類型的視頻文件。   Super (Windows) Super是一個免…

【機器學習】六種算法在人臉補全中的應用比較(K緊鄰,線性,決策樹,嶺回歸,套索回歸,ElasticNet)

需求&#xff1a; 根據人的上半邊臉預測下半邊臉&#xff0c;用各種算法取得的結果與原圖比較 思考&#xff1a; 這是一個回歸問題&#xff0c;不是分類問題&#xff08;人臉數據不固定&#xff09; 數據集一共包含40個人&#xff0c;每一個人10張照片&#xff0c;分布規律 每…

性能優化之NSDateFormatter

為什么要優化NSDateFormatter&#xff1f;首先&#xff0c;過度的創建NSDateFormatter用于NSDate與NSString之間轉換&#xff0c;會導致App卡頓&#xff0c;打開Profile工具查一下性能&#xff0c;你會發現這種操作占CPU比例是非常高的。據官方說法&#xff0c;創建NSDateForma…

QuickTime文件格式解析

QuickTime文件格式解析Peter Lee 2008-06-14 一、簡介 QuickTime是Apple公司開發的一套完整的多媒體平臺架構&#xff0c;可以用來進行多種媒體的創建&#xff0c;生產&#xff0c;和分發&#xff0c;并為這一過程提供端到端的支持&#xff1a;包括媒體的實時捕捉&#xff0c;…

python的數據類型轉換

數據類型轉換 將數據由當前類型變化為其他類型的操作就是數據類型轉換。數據類型轉換分為兩類&#xff0c;分別是自動數據類型轉換 和 強制數據類型轉換。 自動轉換(隱式轉換) 自動轉換時程序根據運算要求進行的轉換&#xff0c;不許要人工干預。 1.自動類型轉換不需要人工干…

Linux文件屬性及如何修改文件屬性

ls -al:顯示文件的文件名與相關屬性并列出所有文件詳細的權限與屬性 dr-xr-x---. 7 root root 4096 Apr3 12:31 . 權限 連接 所有者 用戶組 文件容量 修改日期 文件名 第一個字符代表這個文件是“目錄&#xff0c;文件&#x…

SyntaxError:identifier starts immediately after numeric literal

1、錯誤描寫敘述2、錯誤原因因為在改動方法傳參的過程&#xff0c;須要傳個id&#xff0c;可是這個id是字符串類型&#xff0c;傳入的是數值型3、解決的方法在傳參時&#xff0c;須要加入“”&#xff0c;變成字符串類型User.modify("id");

python中的運算和運算符

運算和運算符 運算&#xff1a; 由一個以上的值經過變化得到新值得過程&#xff0c;就是運算。 運算符&#xff1a; 用于運算的符號&#xff0c;就是運算符 運算的分類&#xff1a; 1.算數運算 2.比較運算/關系運算 3.賦值運算 4.邏輯運算 5.位運算 6.成員運算 7.身份運算算術…

【數據分析】reshape(-1,1)和numpy的廣播機制

在創建DataFrame的時候常常使用reshape來更改數據的列數和行數。 reshape可以用于numpy庫里的ndarray和array結構以及pandas庫里面的DataFrame和Series結構。 源數據 reshape函數 reshape&#xff08;行&#xff0c;列&#xff09;可以根據指定的數值將數據轉換為特定的行數和…

藍橋杯-組素數-java

/* (程序頭部注釋開始) * 程序的版權和版本聲明部分 * Copyright (c) 2016, 廣州科技貿易職業學院信息工程系學生 * All rights reserved. * 文件名稱&#xff1a; 藍橋杯賽題 * 作 者&#xff1a; 彭俊豪 * 完成日期&#xf…

AVI文件規范

AVI文件規范PeterLee 2007-10-14 一、AVI文件簡介 AVI的英文全稱為Audio Video Interleaved&#xff0c;即音頻視頻交錯格式&#xff0c;是將語音和影像同步組合在一起的文件格式。AVI于1992年被Microsoft公司推出&#xff0c;隨Windows3.1一起被人們所認識和熟知。AVI文件格式…

python中的流程控制

流程控制 流程&#xff1a; 計算機執行代碼的順序&#xff0c;就是流程。 流程控制&#xff1a; 對計算機代碼執行順序的控制&#xff0c;就是流程控制。 流程分類&#xff1a; 流程控制一共分為三類&#xff0c;分別是 順序結構、分支(選擇)結構、循環結構。 順序結構 順序…

tomcat jdbc SlowQueryReport的實現解讀

為什么80%的碼農都做不了架構師&#xff1f;>>> ##序 tomcat提供了JdbcInterceptor可以用來監控jdbc的執行情況&#xff0c;默認提供了好幾個現成的interceptor可以用&#xff0c;SlowQueryReport以及SlowQueryReportJmx就是其中的兩個。 ##JdbcInterceptor的基本原…

【機器學習】Bagging和Boosting的區別(面試準備)

Baggging 和Boosting都是模型融合的方法&#xff0c;可以將弱分類器融合之后形成一個強分類器&#xff0c;而且融合之后的效果會比最好的弱分類器更好。 Bagging: 先介紹Bagging方法&#xff1a; Bagging即套袋法&#xff0c;其算法過程如下&#xff1a; 從原始樣本集中抽取訓…