zoj 3401 Guitar

zoj 3401 Guitar,第1张

zoj 3401 Guitar
#include <iostream>#include <stdio.h>#include <string.h>using namespace std;const string pre[]={"C","C","D","D","E","F","F","G","G","A","A","B"};const string suf[]={"","#","","#","","","#","","#","","#",""};const int slen=12;int p[7][31];int getp(int x,int y){if(p[x][y]==-1){if(y==0 && x!=2) p[x][y]=getp(x+1,5);else if(y==0 && x==2) p[x][y]=getp(x+1,4);else p[x][y]=getp(x,y-1)+1;return p[x][y];}else return p[x][y];}int pos[7];int main() {memset(p,-1,sizeof(p));p[6][0]=3*slen+4;char str[100];int r=0;while(gets(str)!=NULL){if(r) puts(""),r=0;if(strlen(str)==1){int x=str[0]-'0';if(x==0) {memset(pos,0,sizeof(pos));r=1;}else{int v=getp(x,pos[x]);printf("%s%d%sn",pre[v%slen].c_str(),v/slen,suf[v%slen].c_str());}}else{sscanf(str,"%d%d%d%d%d%d",&pos[1],&pos[2],&pos[3],&pos[4],&pos[5],&pos[6]);}}return 0;}

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/4925940.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-11-12
下一篇2022-11-12

发表评论

登录后才能评论

评论列表(0条)

    保存