spring可以做多大的网站,做计划网站,做机械的老板都看什么网站,免费seo公司题意#xff1a;有四种命令#xff1a;U代表上移一个单位#xff0c;D代表下移一个单位#xff0c;R代表右移一个单位#xff0c;L代表左移一个单位。 现在给出一串命令#xff0c;问怎样修改命令中的任意一条命令#xff0c;使得命令结束后重新返回原点#xff0c;并且… 题意有四种命令U代表上移一个单位D代表下移一个单位R代表右移一个单位L代表左移一个单位。 现在给出一串命令问怎样修改命令中的任意一条命令使得命令结束后重新返回原点并且修改的步数最少。 思路把问题抽象化统计四中命令各自有多少之后D与U相互抵消numD-numUR与L相互抵消numR-numL将两个差值的绝对值相加之后除以二就是结果。 #include stdio.h#include string.h#include stdlib.hvoid f(int *x,int *y){ if(*x*y){ (*y); } if(*x*y){ (*x); } }void g(int *x,int *y){ if(*x*y){ (*x)--; } if(*x*y){ (*y)--; } }int main(){ char str[100500]; gets(str); int i,lenstrlen(str),l0,r0,d0,u0; int rslt0; if(len%2!0){ printf(-1\n); return 0; } else for(i0;ilen;i){ if(str[i]L)l ; if(str[i]R)r ; if(str[i]U)u; if(str[i]D)d; } if((lr)%2!0){ f(l,r); g(u,d); rslt; } rslt(abs(l-(lr)/2)abs(u-(du)/2)); printf(%d\n,rslt); return 0;} void函数是判断lf 是奇数时将其换成偶数 而不增加补数 这是通过的代码 但起初结果死活不对 后来发现是因为函数中写的是*x 而的优先级是比*高的自然就不对了 but看了别人才发现完全不用这么复杂好吧 如果lf为奇数结果会在偶数的基础上增加一步而 rslt(abs(l-(lr)/2)abs(u-(du)/2))的值此时也加一所以判断奇数偶数完全没有必要 结果是一样的 改进后 #include stdio.h
#include string.h
#include stdlib.hint main(){char str[100500];gets(str);int i,lenstrlen(str),l0,r0,d0,u0;int rslt0;if(len%2!0){printf(-1\n);return 0;}else for(i0;ilen;i){if(str[i]L)l ;if(str[i]R)r ;if(str[i]U)u;if(str[i]D)d;}rslt(abs(l-(lr)/2)abs(u-(du)/2));printf(%d\n,rslt);return 0;转载于:https://www.cnblogs.com/-ifrush/p/10084384.html