Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Task : SMS Thumb
- Author : Phumipat C. [MAGCARI]
- Language : C++
- */
- #include<bits/stdc++.h>
- using namespace std;
- char press(int x,int y,int m){
- if(x == 0 && y == 0){
- return '0';
- }else if(x == 1 && y == 0){
- m%=3;
- if(m == 0) return 'C';
- else if(m == 1) return 'A';
- else if(m == 2) return 'B';
- }else if(x == 2 && y == 0){
- m%=3;
- if(m == 0) return 'F';
- else if(m == 1) return 'D';
- else if(m == 2) return 'E';
- }else if(x == 0 && y == 1){
- m%=3;
- if(m == 0) return 'I';
- else if(m == 1) return 'G';
- else if(m == 2) return 'H';
- }else if(x == 1 && y == 1){
- m%=3;
- if(m == 0) return 'L';
- else if(m == 1) return 'J';
- else if(m == 2) return 'K';
- }else if(x == 2 && y == 1){
- m%=3;
- if(m == 0) return 'O';
- else if(m == 1) return 'M';
- else if(m == 2) return 'N';
- }else if(x == 0 && y == 2){
- m%=4;
- if(m == 0) return 'S';
- else if(m == 1) return 'P';
- else if(m == 2) return 'Q';
- else return 'R';
- }else if(x == 1 && y == 2){
- m%=3;
- if(m == 0) return 'V';
- else if(m == 1) return 'T';
- else if(m == 2) return 'U';
- }else{
- m%=4;
- if(m == 0) return 'Z';
- else if(m == 1) return 'W';
- else if(m == 2) return 'X';
- else return 'Y';
- }
- }
- char mes[85];
- int main(){
- int n,s,m,x,y,idx = 0,cx,cy;
- scanf("%d %d %d",&n,&s,&m);
- switch(s){
- case 1: x=0,y=0; break;
- case 2: x=1,y=0; break;
- case 3: x=2,y=0; break;
- case 4: x=0,y=1; break;
- case 5: x=1,y=1; break;
- case 6: x=2,y=1; break;
- case 7: x=0,y=2; break;
- case 8: x=1,y=2; break;
- case 9: x=2,y=2; break;
- }
- char res = press(x,y,m);
- if(res != '0')
- mes[idx] = res,idx++;
- for(int i=2;i<=n;i++){
- scanf("%d %d %d",&cx,&cy,&m);
- x+=cx,y+=cy;
- res = press(x,y,m);
- if(res != '0'){
- mes[idx] = res,idx++;
- }else if(idx != 0){
- idx--;
- mes[idx] = NULL;
- }
- }
- if(idx == 0) printf("null\n");
- else printf("%s\n",mes);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment