Թաքցված խնդիր
|Այս խնդիրը թաքցված է խմբագրական խրհրդի անդամի կողմից քանի որ կամ այն ոչ ճիշտ լեզվով է գրված,|կամ թեստային տվյալներն են սխալ, կամ խնդրի ձևակերպումը պարզ չէ։|

ZROMEKH - 01 հաջորդականություններ

Տրված է տող, որը պարունակում է միայն 0, 1, և ?  սիմվոլներ։ Դիցուք ? սիմվոլների քանակը k է։ Այդ դեպքում դրանք 2k եղանակով կարելի է փոխարինել 0-ներով և 1-երով և ստանալ 01 (այսինքն միայն զրոներից և մեկերից կազմված) հաջորդականություն։

Յուրաքանչյուր 01 հաջորդականությունը երկու հարևան տարրերի տեղափոխության գործողությունների միջոցով չնվազման կարգով տեսակավորելու համար մինիմալ անհրաժեշտ գործողությունների քանակը անվանենք ինվերսիաների քանակ։ Օրինակ, 10010 հաջորդականությունը տեսակավորելու համար անհրաժեշտ է կատարել չորս գործողություն.

10010 -> 01010 -> 00110 -> 00101 -> 00011

Այսինքն, այս դեպքում ինվերսիաների քանակը 4 է։

Հարկավոր է հաշվել բոլոր 2k 01 հաջորդականությունների ինվերսիաների քանակների հանրագումարը 1000000007 թվի վրա բաժանելուց մնացորդը։

 

Մուտքային տվյալներ

Տրված է միայն 0, 1, և ? սիմվոլներից բաղկացած մեկ տող։ Տողի երկարությունը չի գերազանցում 500 000-ը։

Ելքային տվյալներ

Պետք է արտածել մեկ թիվ՝ խնդրում պահանջվող հանրագումարի մնացորդը։

Օրինակ

Մուտք.
?0?

Ելք.
3

Ավելացրեց.Andreasyan
Ամսաթիվ.2017-03-11
Ժամանակի սահմանափակումը.0.200s
Ծրագրի տեքստի սահմանափակումը.50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Լեզուներ.C CSHARP C++ 4.3.2 CPP CPP14 JAVA PAS-GPC PAS-FPC PYTHON3
Աղբյուրը.Մարզային 2017

© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.