[蓝桥杯2017初赛]纸牌三角形
题目描述
A,2,3,4,5,6,7,8,9 共9张纸牌排成一个正三角形(A按1计算)。要求每个边的和相等。
下图就是一种排法这样的排法可能会有很多。
A
9 6
4 8
3 7 5 2
如果考虑旋转、镜像后相同的算同一种,一共有多少种不同的排法呢?
输出
输出一个整数表示答案
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
| #include<bits/stdc++.h> using namespace std; typedef long long ll; const int MAX_N=1e6+5;
int a[9]={1,2,3,4,5,6,7,8,9} ; int ans=0; map<int,int> mp;
bool fun(){ int aa=a[0]+a[1]+a[3]+a[5]; int bb=a[0]+a[2]+a[4]+a[8]; int cc=a[5]+a[6]+a[7]+a[8]; if(aa==bb&&bb==cc) return 1; else return 0; }
void check(){ int x=a[0]; for(int i=1;i<9;i++){ x*=10; x+=a[i]; } int y=0; int z=0; y=a[5]*100000000+a[6]*10000000+a[3]*1000000+a[7]*100000+a[1]*10000+a[8]*1000+a[4]*100+a[2]*10+a[0]; z=a[8]*100000000+a[4]*10000000+a[7]*1000000+a[2]*100000+a[6]*10000+a[0]*1000+a[1]*100+a[3]*10+a[5]; int xx=0; int yy=0; int zz=0; xx=a[0]*100000000+a[1]*1000000+a[2]*10000000+a[3]*10000+a[4]*100000+a[5]+a[6]*10+a[7]*100+a[8]*1000; yy=a[5]*100000000+a[6]*1000000+a[3]*10000000+a[7]*10000+a[1]*100000+a[8]+a[4]*10+a[2]*100+a[0]*1000; zz=a[8]*100000000+a[4]*1000000+a[7]*10000000+a[2]*10000+a[6]*100000+a[0]+a[1]*10+a[3]*100+a[5]*1000; if(mp[x]==0&&mp[y]==0&&mp[z]==0&&mp[xx]==0&&mp[yy]==0&&mp[zz]==0){ ans++; mp[x]=1; mp[y]=1; mp[z]=1; mp[xx]=1; mp[yy]=1; mp[zz]=1; } } int main (){
cout<<144<<endl; }
|
[蓝桥杯2017初赛]外星日历
题目描述
某星系深处发现了文明遗迹。他们的计数也是用十进制。
他们的文明也有日历。日历只有天数,没有年、月的概念。
有趣的是,他们也使用了类似“星期”的概念,只不过他们的一个星期包含了9天,为了方便,这里分别记为: A,B,C….H,I
从一些资料上看到,
他们的23日是星期E
他们的190日是星期A
他们的343251日是星期I
令人兴奋的是,他们居然也预见了“世界末日”的那天,当然是一个很大很大的数字
651764141421415346185
请你计算一下,这遥远的一天是该文明的星期几?
输出
输出一个大写字母表示答案
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| #include<bits/stdc++.h> using namespace std; typedef long long ll; const int MAX_N=1e6+5;
int mod(string a,int b){ int res=0; for(int i=0;i<a.size();i++){ res=(res*10+(a[i]-'0'))%b; } return res; }
int main (){
cout<<'G'<<endl; }
|