Codefoces 677C Vanya and Label (预处理/翻译)
来源:互联网 发布:淘宝网加绒运动服装 编辑:程序博客网 时间:2024/05/21 21:47
While walking down the street Vanya saw a label "Hide&Seek". Because he is a programmer, he used & as a bitwise AND for these two words represented as a integers in base 64 and got new word. Now Vanya thinks of some string s and wants to know the number of pairs of words of length |s| (length of s), such that their bitwise AND is equal to s. As this number can be large, output it modulo 109 + 7.
To represent the string as a number in numeral system with base 64 Vanya uses the following rules:
- digits from '0' to '9' correspond to integers from 0 to 9;
- letters from 'A' to 'Z' correspond to integers from 10 to 35;
- letters from 'a' to 'z' correspond to integers from 36 to 61;
- letter '-' correspond to integer 62;
- letter '_' correspond to integer 63.
The only line of the input contains a single word s (1 ≤ |s| ≤ 100 000), consisting of digits, lowercase and uppercase English letters, characters '-' and '_'.
Print a single integer — the number of possible pairs of words, such that their bitwise AND is equal to string s modulo 109 + 7.
题目大意:
找一个与输入串字符相同的串。。。使每一个能对应的字符与 输入的 对应的字符 取和(&) 且必须还点与原串的对应的值相等。
V_V V代表 31 二进制 011111 _代表63 二进制1111111
011111&011111 111111&011111 011111&111111
111111&111111
一共是3*3
V _ V
V V _
1.V_V V_V 2.V__ V_V 3. V_V V__
4.__V V_V 5.___ V_V 6.__V V__
7.V_V __V 8.V__ __V 9.V_V ___
#include<stdio.h>#include<string.h>using namespace std;const int MOD=1e9+7;char s[100005];int sum[65];int change(char c){ if(c>='0'&&c<='9')return c-'0'; else if(c>='A'&&c<='Z')return c-'A'+10; else if(c>='a'&&c<='z')return c-'a'+36; else if(c=='-')return 62; else if(c=='_')return 63;}int main(){ for(int i=0;i<64;i++) { for(int j=0;j<64;j++) { sum[i&j]++; } } long long ans=1; scanf("%s",s); for(int i=0;i<strlen(s);i++) { ans=((ans*sum[change(s[i])]))%MOD; } printf("%d\n",ans);}
预处理所以 i&j 再计算。
- Codefoces 677C Vanya and Label (预处理/翻译)
- codeforces 355(Div 2)C. Vanya and Label(思维,预处理)
- codeforces 677c Vanya and Label
- Codeforces 677 C Vanya and Label
- Codeforces 677C Vanya and Label(二进制)
- Codeforces 677C Vanya and Label【思维】
- codeforces 677C Vanya and Label
- Codeforces 677C Vanya and Label(数学)
- CF677C Vanya and Label
- CodeForces-Vanya and Label
- Vanya and Label
- Codeforces Round #355 (Div. 2)C - Vanya and Label
- Codeforces Round #355 (Div. 2)C. Vanya and Label
- Codeforces Round #355 (Div. 2)C. Vanya and Label
- Codeforces Round #355 (Div. 2) C. Vanya and Label
- C. Vanya and Examsv
- C. Vanya and Exams
- codeforces_677C. Vanya and Label(快速幂)
- Sql Server优化之路
- Sizeof与Strlen的区别与联系
- 汉字utf-8转unicode
- PHP基础笔记(02)
- UItUItableView 自定义 多选和全选
- Codefoces 677C Vanya and Label (预处理/翻译)
- BatteryChargingSpecification1.2中文详解
- 嵌入式驱动程序之信号量
- Qt简单编程--给裸体的MPlayer披件衣服变成自己的播放器
- HYSBZ 3672购票
- C++实验7—特殊三位数
- UVA oj 489 Hangman Judge(字符串)
- 简单的分布式图片存储及搜索访问服务
- 面向对象程序设计-继承与多态