題意:給一個數字串,可以調換數字,問有多少種組合可以讓組成的數能被11整除。
思路:窩們觀察到1%11=1, 10%11=10,100%11=1,1000%11=10,以此類推。。窩們將一偶一奇看作一對,這一對組成對11的余數
×100對11的余數(也就是1),所以實質還是這一對對11的余數,那麼奇偶數位的和就可以了。我們可以設奇數位的和為x,偶數位的
和為y,則(x+10y)%11的值為0就可以了--> (x-y+11y)%11=0 --> (x-y)%11=0。所以設dp[i][j][k]表示處理完0到i-1,已在奇數位放了j個
數字,(奇數位數字和-偶數位數字和)%11=k的種數,詳見代碼:
/*********************************************************
file name: LA6529.cpp
author : kereo
create time: 2015年02月04日 星期三 20時39分19秒
*********************************************************/
#include
#include
#include
#include
#include
#include