nyoj1307Linux的文件权限对不对
来源:互联网 发布:淘宝双十一主会场 编辑:程序博客网 时间:2024/04/30 09:13
题目链接http://acm.nyist.net/JudgeOnline/problem.php?pid=1307
Linux的文件权限对不对?
时间限制:1000 ms | 内存限制:65535 KB 难度:2
时间限制:1000 ms | 内存限制:65535 KB 难度:2
- 描述
- 输入
- 输入文件的第一行是一个整数T,表示有T组数据。 接下来是T组数据,每个数据有两行,第一行是命令(二)中的数字,第二行是表示文件权限的字符串。
- 输出
- 数字和字符串表示含义一致,则输出“Yes”(不带双引号),否则输出“No”
- 样例输入
4666-rw-rw-rw-777wrwxrwxrwx888-r--r--r--111-r--r--r-x
- 样例输出
YesNoNoNo
AC代码:
#include <stdio.h>int main() {int t;char b[20], s[29] = " --x-w--wxr--r-xrw-rwx ";//1+3*9+1//s按1--x, 2-w-, 3-wx...顺序存放 s[0]存放一个空格的目的是方便 标记1 处的操作; //后面放6个空格,8和9其实只是个幌子,8、9根本没有可对应的符号 scanf("%d", &t);while(t--) {char a[4], flag = 1, t, ts;int i, j, k;scanf("%s%s", a, b);for(i = 0; i < 3; i++) {k = a[i]-'0'-1;//当a长度不达3时,如66 -rw-rw-, a[2]为0,k为负值,此题没有此情况// 当a[0]='0'时也为负,题中也说了没有此情况,故可不处理 for(j = 1; j <= 3; j++) {t = b[i*3+j];//j从1开始免去此处i*3+j+1的+1if(k<0) ts=' ';//k为负值时的处理,s[0]为空格 else ts=s[k*3+j];if(/*标记1*/ts != t || t == 0) break;//字符不匹配||长度小于1+9 则break }if(j <= 3) {flag = 0;break;}}if(b[0] != '-' || b[10] != 0) flag = 0;//输入的字符串按规则b[0]应当是-,b[10]!=0说明超过规定长度 if(flag) printf("Yes\n");else printf("No\n");}return 0;}
0 0
- nyoj1307Linux的文件权限对不对
- NYOJ 1307 Linux的文件权限对不对?
- 整理了一下学的文件(不知道对不对,请大神指导)
- 网上看到的,也不知道说的对不对
- SQLite 的一点点。。。不知道对不对
- 自己写的高斯消元,也不知道对不对
- 一气呵成编完代码的感觉对不对
- 你敲键盘的姿势对不对
- 写文件的权限
- linux文件的权限
- linu 文件的 权限
- linux的文件权限
- linux的文件权限
- linux文件的权限
- Linux的文件权限
- Linux的文件权限
- Linux文件的权限
- 文件访问的权限
- 鼠标滚轮问题
- [Leetcode] 62. Unique Paths 解题报告
- mysql中不清除表里的数据重新设置自增的id的方法
- 自定义控件:水波纹
- hadoop上传文件异常
- nyoj1307Linux的文件权限对不对
- Keepalived+Nginx实现高可用Web负载均衡
- 猜拳的游戏主函数 用组件的方式
- 值得学习的C语言开源项目 (转)
- Nginx+Tomcat实现负载均衡
- python--list
- 错误--spring boot的application.yml配置文件报错
- win7或者win10安装Ubuntu16.04双系统方法
- 海量数据--转载