日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

华为机考HJ17坐标移动

發布時間:2023/11/27 生活经验 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 华为机考HJ17坐标移动 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

什么是tama的驚喜。
什么是tama的綁架。
我承認了我是算力綁架犯,只會暴力破解,不會精妙算法。


先將數據分組,放在二維的vector中。
分別處理每一行,按特征剔除不符合的數據。
用到了數據覆蓋思想。此法也可用于提取不重復數據(去重)。
總之是sb方法暴力破解。
啊,我要欣賞一下其他大佬的方法。


我看到有人用memset,那是什么?我一會去學習一下。

#include<stdio.h>
#include<string.h>//AS賦負值,DW賦正值。/*觸發正值或負值,出現兩個case*/
//檢測ASDW后的數字,與上一個結果做運算,第一個從零開始
//以分號做標志
//不能出現除數字和ASDW以外的字符char input[10000],n[1000],m[1000],asb[1000][1000]={0};
int len,i=0,j=0,k=0,flag=0,p=0,x = 0,y = 0,dir,dist=0,distance[1000];
char A,S,D,W;
int rank[1000]={-1};
int dis_fen,dis_fen_2,dis_fen_3,dis_fen_4;
char char_list[10]={'0','1','2','3','4','5','6','7','8','9'};
int digital_list[10]={0,1,2,3,4,5,6,7,8,9},d[100];int main()
{while(scanf("%s\n",input) != EOF){len = strlen(input);//獲取字符串長度for(i = 0; i <len ;i++)//獲取分號位置{if(input[i] ==';'){rank[j+1]=i;j++;}}  int point=j;//二維數組,f分號分隔放在不同行//3<坐標相減<4的放入   套:第一個是字母的放入 //if坐標=3 看第二位是否是數字//else if坐標=4 第二第三位是否是數字//  for(i=0;i<point;i++)//分組{for(k = flag,j=0;((input[k] != ';')&&(input[k] != '\n'));k++){asb[i][j]=input[k];j++;}j=0;k++;flag=k;}for(i= 0;i<point;i++)//計算每行的長度{distance[i] = rank[i+1]-rank[i]; }for(i=0;i<point;i++)//長度不符合的剔除{if((distance[i]<3)||(distance[i]>4)){for(j=i;j<point;j++){for(k=0;k<distance[j+1];k++){asb[j][k]=asb[j+1][k];                              }  distance[j]=distance[j+1];}i--; point--;}}  for(i=0;i<point;i++)//首位不符合的剔除{if((asb[i][0] !='A')&&(asb[i][0] !='S')&&(asb[i][0] !='D')&&(asb[i][0] !='W')){for(j=i;j<point;j++){for(k=0;k<distance[j+1];k++){asb[j][k]=asb[j+1][k];                              }  distance[j]=distance[j+1];}i--; point--;}}  for(i=0;i<point;i++)  {if((asb[i][1]<'0')||(asb[i][1]>'9'))//剔除第二位不是數字的{for(j=i;j<point;j++){for(k=0;k<distance[j+1];k++){asb[j][k]=asb[j+1][k];                              }  distance[j]=distance[j+1];}i--; point--;} else{   if(distance[i]==4){if((asb[i][2]<'0')||(asb[i][2]>'9'))//剔除第三位不是數字的{for(j=i;j<point;j++){for(k=0;k<distance[j+1];k++){asb[j][k]=asb[j+1][k];                              }  distance[j]=distance[j+1];}i--; point--;}   }}}//仿照單片機進行表查找for(i=0;i<point;i++){if(distance[i]==3)//個位數距離{for(j=0;j<10;j++){if(asb[i][1]==char_list[j]){d[i]=digital_list[j];}}}else//十位數距離{for(j=0;j<10;j++){if(asb[i][1]==char_list[j]){d[i]=digital_list[j]*10;}}for(j=0;j<10;j++){if(asb[i][2]==char_list[j]){d[i]=d[i]+digital_list[j];}}}}for(i=0;i<point;i++){switch(asb[i][0]){  case 'A': { x =x-d[i];break;}case 'S': {y =y-d[i];break;}case 'D': {x = x+d[i];break; }case 'W':{y = y+d[i];break;}}}printf("%d,%d",x,y);  }}

總結

以上是生活随笔為你收集整理的华为机考HJ17坐标移动的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。