欢迎来到PJCK的博客

(erase) Mispelling4 hdu1984

Mispelling4

Time Limit: 1000/500 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)

Total Submission(s): 2592    Accepted Submission(s): 1731

 

 

Problem Description

Misspelling is an art form that students seem to excel at. Write a program that removes the nth character from an input string.

 

Input

The first line of input contains a single integer N, (1 ≤ N ≤ 1000) which is the number of datasets that follow.

Each dataset consists of a single line of input containing M, a space, and a single word made up of uppercase letters only. M will be less than or equal to the length of the word. The length of the word is guaranteed to be less than or equal to 80.

 

Output

For each dataset, you should generate one line of output with the following values: The dataset number as a decimal integer (start counting at one), a space, and the misspelled word. The misspelled word is the input word with the indicated character deleted.

 

Sample Input

4

4 MISSPELL

1 PROGRAMMING

7 CONTEST

3 BALLOON

 

Sample Output

1 MISPELL

2 ROGRAMMING

3 CONTES

4 BALOON

 

利用erase函数。由于remove()函数不是成员,因此不能调整链表的长度。remove()函数并不是真正的删除,要想真正删除元素则可以使用erase()或者resize()函数

#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
int main()
{
    int t,b=0;
    cin>>t;
    while(t--)
    {
        ++b;
        int d;
        string a;
        cin>>d>>a;
        string::iterator it=a.begin();
        a.erase(it+d-1);            //里面的是迭代器。
        printf("%d ",b);
        cout<<a<<endl;
    }
    return 0;
}

 

posted @ 2018-07-06 11:14  PJCK  阅读(182)  评论(0编辑  收藏  举报